/* RAMI's story: photography, generous text panels and orange seams. */
.about-intro { padding-block:4.5rem; max-width:54rem; text-align:center; }
.about-intro h2 { margin:0 0 1.4rem; color:var(--orange); font-size:clamp(2.2rem,4vw,3.1rem); font-weight:650; line-height:1.1; text-wrap:balance; }
.about-intro>p { max-width:45rem; margin:1rem auto; font-size:1.13rem; line-height:1.75; color:#55544f; }
.about-jump { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem 2rem; margin-top:1.8rem; }
.about-jump a { display:inline-flex; align-items:center; min-height:44px; border-bottom:1px solid var(--line); text-underline-offset:5px; text-decoration:none; color:var(--ink); font-size:.95rem; }
.about-jump a:hover { border-color:var(--orange); }
.about-facts { background:var(--orange); padding:2.8rem 0; }
.about-facts dl { display:grid; grid-template-columns:1fr 1fr 1fr; gap:2rem; margin-block:0; }
.about-facts dl>div { padding:.3rem 0; }
.about-facts dl>div+div { border-left:1px solid #1114; padding-left:2rem; }
.about-facts dt { font-size:.85rem; margin-bottom:.6rem; }
.about-facts dd { margin:0; font:650 clamp(1.4rem,2.3vw,2rem)/1.15 var(--display); letter-spacing:-.03em; }
.about-story-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); scroll-margin-top:5rem; }
.about-story-row--reverse .about-media { order:2; }
.about-story-row--reverse .about-story-copy { order:1; }
.about-media { position:relative; align-self:stretch; margin:0; overflow:hidden; min-height:530px; }
.about-media>img,.about-media>.photo-source>img { display:block; width:100%; height:100%; object-fit:cover; }
.about-media:not(.about-product-shelf)>img,.about-media>.photo-source>img { position:absolute; inset:0; }
.about-media>figcaption { position:absolute; bottom:0; left:0; right:0; margin:0; padding:1.6rem 2rem .8rem; color:#fff; background:linear-gradient(transparent,#0008); font-size:.8rem; }
.about-story-copy { display:flex; flex-direction:column; justify-content:center; align-items:start; padding:clamp(2.5rem,5vw,4.8rem); border-left:5px solid var(--orange); }
.about-story-row--reverse .about-story-copy { border-left:0; border-right:5px solid var(--orange); }
.about-story-copy h2 { margin:0 0 1.5rem; font-size:clamp(2rem,3.2vw,3rem); line-height:1.1; color:var(--orange); font-weight:650; text-wrap:balance; }
.about-story-copy .kicker { font-size:.72rem; color:#74716b; }
.about-story-copy>p:not(.kicker) { margin:0 0 1.1rem; max-width:58ch; font-size:1.04rem; line-height:1.7; color:#55544f; }
.about-text-link { display:inline-flex; min-height:44px; align-items:center; border-bottom:1px solid var(--ink); color:var(--ink); text-decoration:none; font-weight:600; padding:.3rem 0; margin-top:.4rem; }
.about-story-copy>h3 { margin:1rem 0; font-size:1.1rem; font-weight:600; }
.about-certifications { list-style:none; padding:0; margin:0; display:grid; width:100%; grid-template-columns:1fr 1fr; gap:.8rem 1.5rem; }
.about-certifications li { border-top:1px solid var(--line); padding-top:.7rem; font-size:.9rem; }
.about-machines>img,.about-machines>.photo-source>img { object-position:40% center; }
.about-machine-detail { position:absolute; right:1.5rem; bottom:1.5rem; width:150px; background:#fff; padding:.6rem; }
.about-machine-detail img { display:block; width:100%; height:110px; object-fit:cover; }
.about-machine-detail span { display:block; margin-top:.5rem; font-size:.78rem; color:var(--ink); }
.about-product-shelf { display:flex; align-items:center; justify-content:center; gap:1.3rem; padding:4rem 2rem; background:#eeede7; }
.about-product-shelf>img { width:auto; max-width:29%; height:245px; object-fit:contain; mix-blend-mode:multiply; }
.about-product-shelf>img:nth-child(2) { transform:translateY(-24px); }
.about-product-shelf>figcaption { color:#74716b; background:none; }
.about-story-copy>p.about-report-note,.about-report-note { font-size:.85rem; color:#74716b; line-height:1.6; }
.about-community { padding:4.5rem 0; background:#f3f3ef; }
.about-community-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.about-community h2 { margin:0; color:var(--orange); font-size:clamp(2.3rem,4vw,3.4rem); line-height:1.1; font-weight:650; text-wrap:balance; }
.about-community-inner>div>p:first-child { margin-top:0; }
.about-community-inner>div>p { font-size:1.05rem; line-height:1.7; color:#55544f; }
.about-community-inner>div>.about-report-note { font-size:.85rem; }
.about-sources { padding-block:4.5rem; }
.about-source-intro { display:flex; align-items:end; gap:3rem; justify-content:space-between; margin-bottom:2.3rem; }
.about-source-intro h2 { margin:0; font-size:clamp(2rem,3.2vw,3rem); line-height:1.1; font-weight:650; }
.about-source-intro p { max-width:28rem; margin:0; color:#74716b; }
.about-disclosure { border-top:1px solid var(--line); }
.about-disclosure:last-child { border-bottom:1px solid var(--line); }
.about-disclosure>summary { display:flex; min-height:70px; padding:1.1rem 0; justify-content:space-between; align-items:center; gap:1rem; font:600 1.3rem var(--display); cursor:pointer; list-style:none; }
.about-disclosure>summary::-webkit-details-marker { display:none; }
.about-disclosure>summary::after { content:'+'; color:var(--orange); font:400 1.8rem var(--sans); }
.about-disclosure[open]>summary::after { content:'−'; }
.about-disclosure>.china-points { max-width:none; padding-bottom:1rem; }
.about-disclosure .press-list { margin-top:1.5rem; }
.about-disclosure .press-card { box-shadow:none; border-radius:0; background:#f7f7f5; }
.about-partner { padding:4rem 0; background:var(--orange); }
.about-partner>.wrap { display:flex; gap:3rem; justify-content:space-between; align-items:center; }
.about-partner h2 { font-size:clamp(2.3rem,4vw,3.6rem); line-height:1.1; margin:0; font-weight:650; }
.about-partner p { margin:1.1rem 0 0; max-width:40rem; }
.about-partner .btn { background:var(--black); color:#fff; border-color:var(--black); flex:none; }
@media(max-width:800px) {
  .about-story-row { grid-template-columns:1fr; }
  .about-story-row--reverse .about-media { order:0; }
  .about-story-row--reverse .about-story-copy { order:0; }
  .about-media { min-height:0; height:330px; }
  .about-story-copy,.about-story-row--reverse .about-story-copy { border:0; border-top:4px solid var(--orange); padding:2.5rem 1.5rem; }
  .about-facts dl { grid-template-columns:1fr; gap:1.5rem; }
  .about-facts dl>div+div { border-left:0; border-top:1px solid #1114; padding:1.5rem 0 0; }
  .about-intro { padding-block:3rem; }
  .about-community { padding:3rem 0; }
  .about-community-inner { grid-template-columns:1fr; gap:1.5rem; }
  .about-source-intro { flex-direction:column; align-items:start; gap:1.3rem; }
  .about-sources { padding-block:3rem; }
  .about-partner>.wrap { flex-direction:column; align-items:start; gap:1.7rem; }
  .about-product-shelf>img { height:185px; }
}
@media(max-width:420px) {
  .about-intro>p { font-size:1.05rem; }
  .about-jump { gap:.5rem 1.2rem; }
  .about-jump a { font-size:.88rem; }
  .about-media { height:290px; }
  .about-product-shelf { gap:.7rem; padding:2rem 1rem; }
  .about-product-shelf>img { height:160px; }
  .about-story-copy { padding:2.2rem 1.25rem; }
}

.photo-source { display:contents; }
.about-photo-archive { padding:0 0 1.5rem; }
.about-photo-archive p { color:#74716b; font-size:.95rem; }
.about-photo-links { display:flex; flex-wrap:wrap; gap:.75rem 2rem; }
.about-photo-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-underline-offset:5px; }

/* Visible news cards: publisher and date precede the headline. */
.news-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 2rem; padding:1.1rem 0; border-top:1px solid var(--line); }
.news-toolbar p { margin:0; font-size:.8rem; color:#74716b; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:1.2rem 0 0; gap:2rem; }
.news-grid>li { display:flex; min-width:0; }
.news-card { display:flex; flex-direction:column; width:100%; border-bottom:1px solid var(--line); }
.news-card>.photo-source>img { display:block; width:100%; height:auto; aspect-ratio:1.7; object-fit:cover; }
.news-card-copy { display:flex; flex-direction:column; align-items:start; flex:1; padding:1.3rem 0 1.5rem; }
.news-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin:0 0 .85rem; font-size:.76rem; color:#74716b; }
.news-meta>span { color:var(--orange); font-weight:600; border-right:1px solid var(--line); padding-right:.6rem; }
.news-outlet { margin:0 0 .6rem; color:#68655f; font-size:.8rem; font-weight:600; }
.news-card h3 { font:650 clamp(1.25rem,1.7vw,1.5rem)/1.2 var(--display); letter-spacing:-.025em; margin:0 0 .9rem; text-wrap:balance; }
.news-summary { margin:0 0 1.1rem; color:#68655f; font-size:.96rem; line-height:1.6; }
.news-read { display:inline-flex; align-items:center; min-height:44px; margin-top:auto; color:var(--ink); font-weight:600; font-size:.88rem; text-decoration:none; border-bottom:1px solid var(--orange); }
.news-read:hover { color:var(--orange); }
.news-image-note { margin:1.3rem 0 2.3rem; color:#74716b; font-size:.78rem; }
#sources { scroll-margin-top:calc(var(--header-h) + 2rem); }
@media(max-width:1000px) { .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 1.5rem; } }
@media(max-width:600px) { .news-grid { grid-template-columns:1fr; gap:2rem; } .news-card h3 { font-size:1.5rem; } }

/* Each press item is one framed, native-link surface, for pointer and keyboard. */
.news-card { position:relative; border:1px solid #dedbd4; background:#fff; overflow:hidden; transition:transform .28s ease,border-color .28s ease,background-color .28s ease,box-shadow .28s ease; }
.news-card>.photo-source { display:block; overflow:hidden; }
.news-card>.photo-source>img { transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.news-card-copy { padding:1.4rem 1.3rem 1.5rem; }
.news-read::after { content:''; position:absolute; inset:0; z-index:1; }
.news-card:focus-within { border-color:var(--orange); background:#fff9f4; transform:translateY(-4px); box-shadow:0 14px 28px #22180d14; }
.news-card:focus-within img { transform:scale(1.025); }
@media(hover:hover) {
  .news-card:hover { border-color:var(--orange); background:#fff9f4; transform:translateY(-4px); box-shadow:0 14px 28px #22180d14; }
  .news-card:hover img { transform:scale(1.025); }
  .news-card:hover .news-read { color:var(--orange); }
}
