.articles-section{background:var(--ivory)}
.content-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.content-section-head h2{max-width:740px}
.content-section-head .section-lead{margin-bottom:0}
.content-count{border:1px solid var(--forest);border-radius:999px;padding:12px 18px;margin:0 0 7px;white-space:nowrap;font-size:12px;font-weight:700}
.article-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.article-card{min-width:0;border:1px solid var(--forest);border-radius:17px;overflow:hidden;background:var(--white);display:flex;flex-direction:column}
.article-card img{width:100%;aspect-ratio:1.55;object-fit:cover;background:var(--ivory)}
.article-card-copy{padding:20px;display:flex;flex-direction:column;flex:1;align-items:start}
.article-card-meta{font-size:11px;letter-spacing:.08em;font-weight:800;margin-bottom:13px}
.article-card h3{font:normal 30px/1.13 var(--font-display);margin:0 0 11px}
.article-card p{font-size:14px;line-height:1.55;margin:0 0 18px}
.article-card button{border:0;border-bottom:1px solid var(--forest);background:transparent;color:var(--forest);padding:0 0 4px;font-size:13px;font-weight:800;margin-top:auto}
.content-message{font-size:13px;line-height:1.45;margin:16px 0 0}
.content-message:empty{display:none}
.article-modal{max-width:min(940px,calc(100vw - 28px))}
.article-detail{padding:28px 34px 40px}
.article-detail h2{font:normal clamp(39px,5.5vw,64px)/1.03 var(--font-display);letter-spacing:-.04em;margin:14px 0 18px}
.article-detail .article-lead{font-size:18px;line-height:1.6;max-width:760px}
.article-detail figure{margin:25px 0}
.article-detail figure img{width:100%;max-height:550px;object-fit:cover;border-radius:14px}
.article-detail figcaption{font-size:12px;line-height:1.4;margin-top:7px}
.article-body{max-width:760px;font-size:16px;line-height:1.75}
.article-body h3{font:normal 31px/1.15 var(--font-display);margin:32px 0 12px}
.article-body p{margin:0 0 15px}
.article-body ul{padding-left:23px}
.article-sources{border-top:1px solid var(--forest);padding-top:20px;margin-top:35px;font-size:12px}
.article-sources a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.reviews-section{background:var(--white)}
.reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:75px;align-items:start}
.reviews-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:31px}
.review-card{border:1px solid var(--forest);border-radius:15px;padding:20px;min-width:0}
.review-card-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:13px}
.review-card strong{font:normal 23px var(--font-display)}
.review-card .stars{color:var(--ochre);letter-spacing:.07em;white-space:nowrap;font-size:18px}
.review-card p{font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px}
.review-card time{font-size:11px}
.review-form{border:1px solid var(--forest);border-radius:18px;padding:25px;background:var(--ivory)}
.review-form h3{font:normal 33px var(--font-display);margin:0 0 22px}
.review-form .field{margin:0 0 17px}
.review-rating{border:0;padding:0;margin:0 0 18px}
.review-rating legend{font-size:12px;font-weight:700;margin-bottom:8px}
.review-rating>div{display:flex;gap:8px}
.review-rating label{cursor:pointer}
.review-rating input{position:absolute;width:1px;height:1px;opacity:0}
.review-rating span{display:grid;place-items:center;border:1px solid var(--forest);background:var(--white);border-radius:50%;width:42px;height:42px;font-size:15px;font-weight:700}
.review-rating input:checked+span{background:var(--forest);color:var(--ivory)}
.review-rating input:focus-visible+span{outline:3px solid var(--ochre);outline-offset:3px}
.review-rating small{display:block;font-size:11px;margin-top:9px}
.review-auth-note{font-size:12px;line-height:1.45;margin:0 0 14px}
.review-auth-note a{text-decoration:underline;text-underline-offset:3px}
.review-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:960px){.reviews-layout{grid-template-columns:1fr;gap:28px}.review-form{max-width:600px}}
@media(max-width:780px){.article-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-section-head{display:block}.content-count{display:inline-block;margin-top:18px}}
@media(max-width:580px){.article-card-grid,.reviews-list{grid-template-columns:1fr}.article-card img{aspect-ratio:1.8}.article-card h3{font-size:27px}.article-detail{padding:20px}.review-form{padding:20px}}
