/* Shared flowers keep the portrait-and-bouquet layout while restoring interaction. */
.case-portrait-panel .case-flower-button {
  position:absolute; right:5%; bottom:34px; z-index:2;
  width:143px; padding:0; border:0; border-radius:0;
  color:#77563a; background:transparent; box-shadow:none;
  display:flex; flex-direction:column; align-items:center; cursor:pointer;
}
.case-flower-button .case-bouquet {
  position:static; width:126px; height:auto; transform:rotate(10deg);
  transition:transform .2s ease; filter:drop-shadow(0 12px 9px rgba(68,51,36,.12));
}
.case-flower-button:hover .case-bouquet { transform:rotate(4deg) translateY(-4px); }
.case-flower-caption {
  margin-top:4px; padding:7px 11px; border:1px solid rgba(162,126,81,.25);
  border-radius:18px; background:rgba(255,250,240,.85); font-size:11px; line-height:1.4;
}
.case-flower-caption b { font-weight:500; }
.case-flower-count { display:block; margin-top:4px; font-size:9px; color:#8f7861; }
.flower-feedback { min-height:15px; margin:0; color:#947c64; font-size:10px; line-height:1.5; }
.case-portrait-panel .flower-feedback {
  position:absolute; z-index:3; bottom:10px; left:15px; right:15px; text-align:center;
}
.flower-local-note { margin:24px 0 0; text-align:center; color:var(--dim); font-size:11px; line-height:1.8; }
.story-sidebar .story-flower-button { width:100%; margin-top:17px; padding:12px 14px; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid #dac6a8; border-radius:12px; color:#805e36; background:#f7edde; cursor:pointer; font-size:12px; }
.story-flower-button img { width:34px; height:42px; object-fit:contain; }
.story-sidebar .flower-feedback { margin-top:10px; text-align:center; }
.story-sidebar .flower-device-note { margin:6px 0 0; text-align:center; color:#a38d73; font-size:10px; line-height:1.7; }
.case-interlude { margin-block:10px; }
.case-interlude p { max-width:750px; margin-inline:auto; }

/* Article feed: a quiet category rail, legible text, and a thumbnail on each row. */
.page-hero.faq-library-hero { padding:114px 0 30px; min-height:0; border:0; }
.faq-library-hero::after { display:none; }
.page-hero.faq-library-hero h1 { margin:0; font-size:clamp(34px,3.6vw,48px); }
.page-hero.faq-library-hero p:last-child { max-width:840px; margin-top:15px; font-size:14px; line-height:1.9; }
.faq-library-section { padding:20px 0 92px; }
.faq-library-layout { display:grid; grid-template-columns:196px minmax(0,1fr); gap:38px; align-items:start; }
.faq-category-rail { position:sticky; top:112px; }
.faq-category-rail > h2 { margin:0 0 17px; font-size:12px; color:var(--dim); font-weight:500; }
.faq-category-nav { display:grid; gap:6px; }
.faq-category-nav a {
  padding:13px 15px; display:flex; justify-content:space-between; align-items:center;
  border-radius:11px; color:#7f6f5d; font-size:13px; transition:background .18s,color .18s;
}
.faq-category-nav a span { font-size:10px; color:#aa967d; }
.faq-category-nav a:hover { color:#694a2a; background:#eee5d8; }
.faq-category-nav a[aria-current] { color:#71522e; background:#e7dac7; font-weight:600; }
.faq-category-nav a[aria-current] span { color:#8d6d43; }
.faq-category-help { margin-top:30px; padding:22px 15px 0; border-top:1px solid var(--line); }
.faq-category-help p { margin:0 0 14px; color:#9d8a73; font-size:11px; line-height:1.85; }
.faq-category-help a { color:#8e6940; font-size:12px; }
.faq-feed-heading { padding:0 2px 17px; display:flex; justify-content:space-between; align-items:center; }
.faq-feed-heading h2 { margin:0; font-size:16px; font-weight:500; }
.faq-feed-heading p { margin:0; color:#aa957c; font-size:11px; }
.faq-article-list { display:grid; gap:15px; }
.faq-article-row { scroll-margin-top:118px; }
.faq-article-row > a {
  min-height:197px; padding:25px 27px; display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,26%); align-items:center; gap:30px;
  border:1px solid #e7ddd0; border-radius:18px; background:rgba(250,247,242,.83);
  transition:border-color .18s,background .18s,box-shadow .18s;
}
.faq-article-row > a:hover { border-color:#ccb18c; background:#fffaf2; box-shadow:0 8px 30px rgba(76,54,31,.05); }
.faq-row-category { display:inline-block; margin-bottom:10px; color:#aa8352; font-size:10px; }
.faq-row-copy h3 { margin:0; font:500 clamp(19px,1.9vw,25px)/1.45 var(--display); letter-spacing:-.025em; }
.faq-row-copy > p { max-width:650px; margin:11px 0 16px; color:#91816f; font-size:12px; line-height:1.85; }
.faq-row-meta { display:flex; flex-wrap:wrap; gap:9px 13px; align-items:center; color:#aa9983; font-size:10px; line-height:1.7; }
.faq-row-meta .faq-read-more { margin-left:auto; color:#9b764a; }
.faq-row-image { display:block; height:132px; overflow:hidden; border-radius:11px; background:#e5d6c2; }
.faq-row-image img { width:100%; height:100%; display:block; object-fit:cover; }
.faq-row-image.photo-scene img { object-position:0% 50%; }
.faq-row-image.voice-scene img { object-position:50% 50%; }
.faq-row-image.digital-scene img { object-position:100% 50%; }
.faq-row-image.poster-scene img { object-position:50% 55%; transform:scale(1.35); }
.faq-feed-note { margin:27px 2px 0; color:#a28e75; font-size:11px; line-height:1.9; }
@media(max-width:1000px) {
  .faq-library-layout { grid-template-columns:166px minmax(0,1fr); gap:25px; }
  .faq-article-row > a { padding:22px; gap:22px; grid-template-columns:minmax(0,1fr) 157px; }
  .faq-row-image { height:120px; }
  .case-portrait-panel .case-flower-button { width:112px; right:0; }
  .case-flower-button .case-bouquet { width:95px; }
}
@media(max-width:860px) {
  .faq-library-layout { grid-template-columns:1fr; gap:26px; }
  .faq-category-rail { position:static; }
  .faq-category-rail > h2,.faq-category-help { display:none; }
  .faq-category-nav { display:flex; gap:8px; flex-wrap:wrap; }
  .faq-category-nav a { padding:10px 13px; gap:9px; border:1px solid #e0d2be; border-radius:22px; font-size:12px; }
}
@media(max-width:620px) {
  .page-hero.faq-library-hero { padding:104px 0 22px; }
  .page-hero.faq-library-hero h1 { font-size:34px; }
  .page-hero.faq-library-hero p:last-child { font-size:13px; line-height:1.9; }
  .faq-library-section { padding-top:10px; padding-bottom:60px; }
  .faq-library-layout { gap:23px; }
  .faq-category-nav { gap:7px; }
  .faq-category-nav a { padding:9px 11px; font-size:11px; }
  .faq-category-nav a span { font-size:9px; }
  .faq-article-row > a { min-height:166px; padding:18px; gap:15px; grid-template-columns:minmax(0,1fr) 97px; }
  .faq-row-copy h3 { font-size:18px; line-height:1.5; }
  .faq-row-category { font-size:9px; margin-bottom:8px; }
  .faq-row-copy > p { display:none; }
  .faq-row-meta { gap:4px 8px; margin-top:13px; font-size:9px; }
  .faq-row-meta .faq-read-more { display:none; }
  .faq-row-image { height:104px; border-radius:8px; }
  .case-portrait-panel .case-flower-button { right:15%; bottom:30px; width:108px; }
  .case-flower-button .case-bouquet { width:88px; }
  .case-flower-caption { margin-top:1px; padding:5px 9px; font-size:10px; }
  .case-flower-count { margin-top:3px; font-size:8px; }
  .case-portrait-panel .flower-feedback { font-size:9px; bottom:7px; }
}
@media(prefers-reduced-motion:reduce) {
  .case-flower-button .case-bouquet,.faq-article-row > a { transition:none; }
}
