/* Company Stories: retain the original full-width visual/copy composition. */
main .company-story-list { display:grid; gap:24px; }
main .company-story-title { margin:0 0 16px; font:500 clamp(1.15rem,2vw,1.5rem)/1.65 "Yu Mincho","Hiragino Mincho ProN",serif; overflow-wrap:anywhere; }
main .company-story-title a { color:inherit; text-decoration:none; }
main .company-story-title a:hover { text-decoration:underline; }
main .company-story-placeholder__copy .company-story-read { margin-top:20px; font-size:.8rem; }

main.company-page .pre { white-space:pre-wrap; }

/* Horizontal Stories carousel. Published CMS entries join the same track. */
main .company-story-carousel__viewport{overflow:hidden;border:1px solid #d8cfbc;background:#fffdfa}
main .company-story-carousel__track{display:flex}
main .company-story-card{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);flex:0 0 100%;min-width:100%;color:inherit;text-decoration:none;scroll-snap-align:start}
main .company-story-card__visual{margin:0;min-height:340px;overflow:hidden;background:#e9e2d2}
main .company-story-card__visual img{display:block;width:100%;height:100%;object-fit:cover}
main .company-story-card__fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:#75613c}
main .company-story-card__fallback span{font-size:.65rem;letter-spacing:.2em}
main .company-story-card__fallback small{font:500 1rem/1.6 "Yu Mincho","Hiragino Mincho ProN",serif}
main .company-story-card__copy{display:flex;flex-direction:column;padding:36px 40px;min-width:0}
main .company-story-card__person{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;color:#75613c}
main .company-story-card__person span{font:500 1.05rem/1.5 Georgia,serif}
main .company-story-card__person small{font-size:.66rem;letter-spacing:.04em}
main .company-story-card h3{margin:0 0 16px;font:500 clamp(1.25rem,2vw,1.65rem)/1.65 "Yu Mincho","Hiragino Mincho ProN",serif}
main .company-story-card__copy>p{margin:0;color:#697171;font-size:.85rem;line-height:1.9}
main .company-story-path{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:18px 0 0;border-top:1px solid #e5dfd2;list-style:none}
main .company-story-path li{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600}
main .company-story-path li:not(:last-child)::after{content:"→";color:#b08b4c}
main .company-story-card__read{margin-top:auto;padding-top:24px;font-size:.78rem;font-weight:700;color:#173b4b}
main .company-story-card:hover h3{text-decoration:underline;text-underline-offset:5px}
main .company-story-carousel__controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:14px}
main .company-story-carousel__controls button{width:38px;height:38px;padding:0;border:1px solid #cfc5b1;border-radius:50%;background:#fffdfa;color:#173b4b;cursor:pointer}
main .company-story-carousel__controls span{min-width:48px;text-align:center;font-size:.72rem;color:#75613c}
main .company-stories__footer{display:flex;justify-content:flex-end;margin-top:22px}
main .company-stories__footer a{font-size:.8rem;font-weight:700;text-underline-offset:6px}
@media(max-width:760px){main .company-story-carousel__viewport{overflow-x:auto;scroll-snap-type:x mandatory}main .company-story-card{grid-template-columns:1fr}main .company-story-card__visual{min-height:0;aspect-ratio:16/9}main .company-story-card__copy{padding:24px 22px}main .company-story-card__person{display:block}main .company-story-card__person small{display:block;margin-top:4px}main .company-story-card__read{padding-top:20px}main .company-story-carousel__controls{display:none}}
