.recommendations-hero { padding:70px 0 46px; max-width:860px; }
.recommendations-hero h1 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(46px,7vw,88px); line-height:1.05; margin:20px 0 26px; }
.recommendations-hero .journal-intro { max-width:680px; }
.recommendations-page .eyebrow { font-size:12px; color:#765f49; }
.recommendations-editorial { max-width:720px; font-size:18px; line-height:1.8; margin:0 0 32px; }
.recommendations-nav { display:flex; gap:24px; overflow-x:auto; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.recommendations-nav a { white-space:nowrap; min-height:44px; display:flex; align-items:center; font-size:14px; color:var(--dp); text-underline-offset:6px; }
.recommendations-tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin:40px 0; }
.recommendations-tiers h2 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:400; margin:0 0 8px; }
.recommendations-tiers p { font-size:15px; line-height:1.7; }
.recommendations-section { padding:48px 0; scroll-margin-top:24px; border-top:1px solid var(--line); }
.recommendations-section>h2 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:42px; margin:0 0 28px; }
.recommendations-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.recommendation { min-width:0; display:flex; flex-direction:column; padding:20px; border:1px solid var(--line); background:rgba(255,255,255,.22); }
.recommendation.featured { grid-column:auto; }
.recommendation-media { aspect-ratio:4/3; background:#f2eee7; display:flex; align-items:center; justify-content:center; overflow:hidden; margin:0 0 22px; }
.recommendation-media img { width:100%; height:100%; object-fit:contain; padding:18px; }
.recommendation-placeholder { padding:24px; text-align:center; color:#645747; font-size:14px; line-height:1.7; }
.recommendation-placeholder strong { display:block; font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:400; }
.recommendation-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; min-height:28px; margin-bottom:12px; }
.recommendation-brand { font-size:13px; font-weight:400; letter-spacing:.06em; color:#645747; }
.recommendation-tier { font-size:12px; line-height:1.4; padding:4px 8px; border:1px solid var(--line); color:#645747; white-space:nowrap; }
.recommendation h3 { font-family:'Cormorant Garamond',serif; font-size:30px; line-height:1.15; min-height:2.3em; font-weight:400; margin:0 0 14px; }
.recommendation p { font-size:16px; line-height:1.7; margin:0 0 16px; }
.recommendation .recommendation-summary { min-height:5.1em; }
.recommendation .recommendation-why { color:#645747; }
.recommendation-footer { margin-top:auto; padding-top:16px; min-height:80px; border-top:1px solid var(--line); }
.recommendation-footer:empty { border-color:transparent; }
.recommendation-cta { color:var(--dp); font-size:14px; min-height:44px; display:flex; align-items:center; width:fit-content; text-underline-offset:6px; }
.recommendation small { display:block; font-size:12px; line-height:1.5; color:#645747; }
.recommendations-disclaimer { font-size:14px; line-height:1.7; margin:30px 0 60px; max-width:740px; }
.recommendations-status { padding:35px 0; font-size:16px; }
.recommendations-page .back-link { min-height:44px; display:inline-flex; align-items:center; }
.recommendations-page a:focus-visible { outline:2px solid var(--dp); outline-offset:5px; }
@media(max-width:1100px) {
  .recommendations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .recommendations-hero { padding:42px 0 28px; }
  .recommendations-grid { grid-template-columns:1fr; gap:24px; }
  .recommendations-tiers { grid-template-columns:1fr; gap:14px; }
  .recommendations-tiers p { margin:0; }
  .recommendations-section { padding:32px 0; }
  .recommendations-page .header-actions .back-link { display:none; }
  .recommendations-page .shell { width:calc(100% - 40px); }
  .recommendations-nav { gap:22px; }
  .recommendations-editorial { font-size:16px; }
  .recommendation-media { margin-bottom:18px; }
  .recommendation h3, .recommendation .recommendation-summary { min-height:0; }
  .recommendation-footer:empty { display:none; }
}
@media(prefers-reduced-motion:reduce) { .recommendations-page { scroll-behavior:auto; } }
