/* Scoped editorial composition; uses the existing brand typography and components. */
.story-who,.story-work,.story-personality { padding-block:var(--space); }
.story-photo { min-width:0; overflow:hidden; border-radius:var(--radius); }
.story-photo img { display:block; width:100%; height:auto; object-fit:contain; }
.story-page h2 { text-wrap:balance; }
.story-fronts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; margin-top:3.5rem; }
.story-front { border-top:1px solid #001c4d30; padding-top:2rem; text-decoration:none; color:var(--navy); }
.story-front .brand-logo { width:9rem; height:9rem; object-fit:contain; margin:0 0 1.5rem; transition:transform 250ms ease; }
.story-front h3 { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:1.15rem; margin-bottom:.7rem; }
.story-front h3 span { color:var(--green); transition:transform 250ms ease; }
.story-front p { color:#646464; max-width:24rem; }
.story-copy { align-items:start; }
.story-copy p:first-child { margin-top:0; }
.story-copy p:last-child { margin-bottom:0; }
.story-principles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; margin-top:3.5rem; }
.story-principles article { border-top:2px solid var(--green); padding-top:1.5rem; transition:transform 250ms ease; }
.story-principles h3 { font-size:1.15rem; line-height:1.4; margin-bottom:1rem; }
.story-origin { border-left:3px solid var(--green); padding-left:1.5rem; margin-top:3rem; max-width:42rem; font-size:clamp(1.25rem,2vw,1.7rem); font-weight:600; line-height:1.5; }
.story-page .cta { border-top:1px solid #001c4d20; }
.story-page .cta h2 { font-size:clamp(1.9rem,3.3vw,2.8rem); }
.story-page .button>span { transition:transform 250ms ease; }
@media(hover:hover) and (pointer:fine) {
 .story-front:hover .brand-logo { transform:scale(1.04); }
 .story-front:hover h3 span,.story-page .button:hover>span { transform:translate(3px,-3px); }
 .story-principles article:hover { transform:translateY(-3px); }
}
@media(max-width:950px) {
 .story-page .two-col { gap:2rem; }
 .story-page h2 { font-size:clamp(1.9rem,3.8vw,2.4rem); }
 .story-fronts { gap:1.5rem; }
 .story-front h3 { font-size:1rem; }
 .story-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
 .story-page .two-col,.story-fronts,.story-principles { grid-template-columns:minmax(0,1fr); }
 .story-front { display:grid; grid-template-columns:6.5rem minmax(0,1fr); column-gap:1.25rem; align-items:start; }
 .story-front .brand-logo { width:6.5rem; height:6.5rem; grid-row:1/3; margin:0; }
 .story-front h3 { font-size:1.05rem; }
 .story-front p { font-size:1rem; }
 .story-page .cta h2 { font-size:clamp(1.7rem,7vw,2.3rem); }
}
@media(prefers-reduced-motion:reduce) {
 .story-front .brand-logo,.story-front h3 span,.story-principles article,.story-page .button>span { transition:none; }
 .story-front:hover .brand-logo,.story-front:hover h3 span,.story-principles article:hover,.story-page .button:hover>span { transform:none; }
}
