.media-section { background:#eee6d8; }
.media-section .section-heading { align-items:center; }
.media-section .section-heading>p { font-size:14px; max-width:34ch; color:#705c45; }
.media-gallery { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; }
.media-tile { display:flex; flex-direction:column; align-items:stretch; padding:0; text-align:left; min-width:0; }
.media-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; width:100%; min-height:350px; border:1px dashed #b09c80; border-radius:12px; background:#e4d8c5; color:#826c50; }
.media-tile:nth-child(2) .media-placeholder { background:#eae1d3; }
.media-tile:nth-child(3) .media-placeholder { background:#dfd2bd; }
.media-type { position:absolute; left:18px; top:18px; padding:6px 12px; border-radius:999px; background:var(--ivory); font-size:10px; line-height:1.5; color:#745635; }
.media-placeholder svg { width:50px; height:50px; fill:none; stroke:currentColor; stroke-width:1; }
.media-placeholder .play-glyph { width:58px; height:58px; border:1px solid #a68d6a; padding:20px; border-radius:50%; fill:currentColor; stroke:none; }
.media-placeholder>small { margin-top:17px; font-size:11px; }
.media-tile-caption { padding:18px 0 0; font:500 26px/1.1 var(--serif); }
.media-tile:hover .media-placeholder { border-color:var(--accent); }
.media-section-note { margin-top:24px; font-size:11px; color:#705d46; }
.ingredient-inline { margin:16px 0; padding-left:19px; font-size:14px; line-height:1.8; }
.product-reviews { border-top:1px solid #ded1bc; }
.product-reviews .section-heading p { font-size:15px; }
.product-reviews-grid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr); gap:6vw; }
.review-summary-placeholder { border:1px dashed #b8a387; border-radius:10px; padding:28px; align-self:start; }
.review-summary-placeholder>span { font:400 56px/1 var(--serif); display:block; color:#9c8669; }
.review-summary-placeholder h3 { font:500 18px/1.4 var(--sans); margin:18px 0 12px; }
.review-summary-placeholder p { font-size:12px; color:#756149; }
.review-summary-placeholder .button { margin-top:24px; width:100%; }
.review-wireframe { display:grid; grid-template-columns:1fr 92px; gap:25px; padding:25px 0; border-bottom:1px solid #d5c6af; align-items:start; }
.review-wireframe:first-child { padding-top:0; }
.review-wireframe h3 { font-size:27px; margin:10px 0 12px; }
.review-wireframe p { font-size:13px; line-height:1.7; color:#79664e; }
.review-wireframe .review-identity { font-size:11px; color:#8a765b; }
.review-photo-placeholder { width:92px; height:110px; border:1px dashed #b09c80; border-radius:8px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; padding:10px; background:#ede4d6; color:#80694c; }
.review-photo-placeholder svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1; }
.review-photo-placeholder>span { font-size:9px; line-height:1.4; }
.community-proof { background:#eee6d8; }
.community-proof .section-heading p { max-width:36ch; font-size:15px; }
.review-showcase { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.review-story { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:0; background:#f7f3eb; border-radius:12px; overflow:hidden; }
.review-story-photo { min-height:320px; position:relative; }
.review-story-photo>img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.review-story-copy { padding:30px; display:flex; flex-direction:column; align-items:flex-start; }
.review-story blockquote { margin:0 0 25px; font:500 clamp(26px,2.5vw,35px)/1.15 var(--serif); }
.review-story-author { font-size:13px; }
.review-story-source { font-size:10px; color:#766249; margin-top:8px; }
.review-portrait-slot { display:flex; gap:9px; align-items:center; padding-top:20px; margin-top:auto; font-size:9px; line-height:1.4; color:#8b775b; }
.review-portrait-slot svg { width:27px; height:32px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1; border:1px dashed #b8a183; border-radius:50%; padding:4px; }
.social-proof-note { font-size:10px; color:#7a654a; margin-top:23px; }
.instagram-section { background:#eee6d8; padding-bottom:75px; }
.instagram-section .section-heading { align-items:center; }
.instagram-section .section-heading p { font-size:15px; max-width:54ch; }
.carousel-controls { display:flex; gap:9px; flex-shrink:0; }
.carousel-controls button { border:1px solid #b8a285; border-radius:999px; font-size:11px; min-height:44px; padding:9px 18px; background:transparent; }
.carousel-controls button:hover:not(:disabled) { background:#e3d4bb; }
.carousel-controls button:disabled { opacity:.4; cursor:default; }
.instagram-track { display:flex; gap:22px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#ae9674 #e5d9c5; list-style:none; padding:0 0 18px; margin:0; }
.instagram-track>li { flex:0 0 calc((100% - 66px)/4); scroll-snap-align:start; min-width:0; }
.instagram-post { display:block; width:100%; padding:0; text-align:left; }
.instagram-frame { display:block; width:100%; aspect-ratio:4/5; border-radius:10px; overflow:hidden; position:relative; background:#e1d4be; }
.instagram-frame>img { width:100%; height:100%; object-fit:cover; }
.instagram-frame .media-placeholder { min-height:0; height:100%; border-radius:10px; }
.instagram-frame>.media-type { top:13px; left:13px; }
.instagram-post-caption { display:block; font-size:13px; line-height:1.5; margin:15px 0 5px; }
.instagram-footnote { display:flex; gap:20px; justify-content:space-between; margin-top:20px; font-size:10px; line-height:1.6; color:#776048; }
.instagram-footnote>p { max-width:80ch; }
.media-preview-panel { margin-top:25px; }
.media-preview-panel .media-placeholder { min-height:270px; }
.media-preview-panel>p { font-size:13px; margin-top:20px; }
.review-preview-form { display:grid; gap:18px; margin-top:25px; }
.review-preview-form label { display:grid; gap:8px; font-size:13px; }
.review-preview-form input,.review-preview-form select,.review-preview-form textarea { width:100%; min-height:46px; padding:12px; border:1px solid #bca98d; border-radius:8px; background:#fcf8f1; font:400 15px/1.5 var(--sans); color:var(--black); }
.review-preview-form select:focus-visible,.review-preview-form textarea:focus-visible,.instagram-track:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.review-preview-form .button { justify-self:start; }
.review-preview-result { font-size:13px; color:#705432; }
@media(max-width:1100px) {
  .review-story-copy { padding:24px; }
  .review-story blockquote { font-size:28px; }
  .media-gallery { gap:18px; }
  .media-placeholder { min-height:310px; }
}
@media(max-width:800px) {
  .media-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .media-placeholder { min-height:270px; }
  .media-type { left:12px; top:12px; font-size:9px; padding:5px 9px; }
  .media-tile-caption { font-size:24px; }
  .review-showcase { grid-template-columns:1fr; gap:22px; }
  .review-story { grid-template-columns:minmax(0,.7fr) minmax(0,1fr); }
  .review-story-photo { min-height:230px; }
  .review-story-copy { padding:30px; }
  .review-story blockquote { font-size:31px; }
  .product-reviews-grid { grid-template-columns:1fr 1.4fr; gap:30px; }
  .review-summary-placeholder { padding:23px; }
  .review-wireframe { grid-template-columns:1fr; gap:20px; }
  .instagram-track>li { flex-basis:calc((100% - 44px)/3); }
}
@media(max-width:600px) {
  .media-section .section-heading { display:block; }
  .media-section .section-heading>p { margin-top:20px; max-width:42ch; }
  .media-gallery { grid-template-columns:1fr; gap:25px; }
  .media-placeholder { min-height:0; aspect-ratio:5/4; }
  .media-tile-caption { font-size:27px; padding-top:14px; }
  .media-type { left:16px; top:16px; font-size:10px; }
  .media-section-note { font-size:10px; }
  .product-reviews-grid { grid-template-columns:1fr; gap:35px; }
  .review-summary-placeholder { display:grid; grid-template-columns:52px 1fr; column-gap:18px; padding:24px; }
  .review-summary-placeholder h3 { margin:0 0 10px; font-size:16px; }
  .review-summary-placeholder>span { grid-row:1 / span 2; font-size:48px; }
  .review-summary-placeholder .button { grid-column:1 / -1; margin-top:22px; }
  .review-wireframe { grid-template-columns:1fr 75px; gap:18px; }
  .review-wireframe h3 { font-size:25px; }
  .review-photo-placeholder { width:75px; height:95px; }
  .review-story { grid-template-columns:115px minmax(0,1fr); }
  .review-story-photo { min-height:265px; }
  .review-story-copy { padding:24px 20px; }
  .review-story blockquote { font-size:27px; margin-bottom:22px; }
  .review-story-author { font-size:12px; }
  .review-story-source { font-size:9px; }
  .review-portrait-slot { font-size:8px; padding-top:18px; }
  .social-proof-note { font-size:9px; }
  .instagram-section .section-heading { display:block; }
  .instagram-section .section-heading p { margin-top:20px; }
  .carousel-controls { margin-top:25px; }
  .instagram-track { gap:15px; }
  .instagram-track>li { flex-basis:76%; }
  .instagram-frame { aspect-ratio:4/5; }
  .instagram-frame .media-placeholder { aspect-ratio:auto; }
  .instagram-footnote { gap:12px; }
  .instagram-footnote>p { max-width:33ch; }
}
@media(max-width:360px) {
  .review-story { grid-template-columns:95px minmax(0,1fr); }
  .review-story-copy { padding:22px 16px; }
  .review-story blockquote { font-size:25px; }
  .review-story-photo { min-height:275px; }
  .review-wireframe { grid-template-columns:1fr 65px; gap:14px; }
  .review-photo-placeholder { width:65px; }
}
