
#philosophy > .container { max-width: calc(var(--space-9) * 13); }
.principle-intro { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-8); align-items: center; position: relative; isolation: isolate; padding-bottom: var(--space-7); }
.principle-intro::before { content: ""; position: absolute; z-index: var(--z-back); inset: 0 calc(var(--space-5) * -1) 0; background: var(--c-tint); clip-path: polygon(0 0, 100% 0, 100% var(--cut-1), 0 100%); }
.principle-intro__text { padding-block: var(--space-7); }
.principle-declaration { margin-top: var(--space-6); color: var(--c-accent); font-family: var(--ff-serif); font-weight: var(--fw-medium); font-size: calc((var(--fs-8) + var(--fs-9)) / 2); }
.principle-intro__photo picture,.principle-intro__photo img { display: block; }
.principle-intro__photo img { aspect-ratio: 3 / 4; object-fit: cover; }
.principle-mission { padding-block: var(--space-8); }
.principle-heading { margin-top: var(--space-2); font-family: var(--ff-serif); font-weight: var(--fw-medium); font-size: var(--fs-6); line-height: var(--lh-2); }
.principle-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: var(--space-8); row-gap: var(--space-7); margin: var(--space-7) 0 0; }
.principle-cards--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.principle-card h4 { margin: 0; font-family: var(--ff-serif); font-weight: var(--fw-medium); font-size: var(--fs-7); line-height: var(--lh-2); color: var(--c-accent); }
.principle-card h4::after { content: ""; display: block; width: var(--space-6); height: var(--bd-2); background: var(--c-accent-2); margin-top: var(--space-4); }
.principle-card p { margin-top: var(--space-4); }
.principle-vision { padding: var(--space-7) var(--space-6); background: var(--c-accent); text-align: center; }
.principle-vision .label,.principle-vision .principle-heading { color: var(--c-bg); }
.principle-vision__copy { max-width: calc(var(--space-9) * 8); margin: var(--space-5) auto 0; font-family: var(--ff-serif); color: var(--c-bg); font-size: var(--fs-8); text-wrap: balance; }
.principle-value { position: relative; isolation: isolate; padding: var(--space-8) 0 var(--space-7); }
.principle-value::before { content: ""; position: absolute; z-index: var(--z-back); inset: 0 calc(var(--space-5) * -1); background: var(--c-tint); clip-path: polygon(0 0, 100% 0, 100% var(--cut-2), 0 100%); }
#message { position: relative; overflow: clip; }
.company-message__opening { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--space-8); align-items: stretch; }
.company-message__intro { min-width: 0; grid-column: 1; grid-row: 1; }
.company-message__photo { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: calc(var(--h-header) + var(--h-anchor-nav) + var(--space-5)); align-self: start; height: min(calc(var(--space-9) * 8), calc(var(--h-view) - var(--h-header) - var(--h-anchor-nav) - var(--space-7))); }
.company-message__catch { margin-top: var(--space-6); font-family: var(--ff-serif); font-size: var(--fs-9); line-height: var(--lh-2); color: var(--c-accent); }
.company-message__subtitle { margin-top: var(--space-5); font-size: var(--fs-6); font-family: var(--ff-serif); font-weight: var(--fw-medium); line-height: var(--lh-2); }
.company-message__history { margin-top: var(--space-7); }
.company-message__step { display: grid; grid-template-columns: var(--space-9) minmax(0,1fr); gap: var(--space-5); }
.company-message__year { padding-top: var(--space-1); font-family: var(--ff-serif); font-size: var(--fs-7); color: var(--c-accent); text-align: center; white-space: nowrap; }
.company-message__body { border-left: var(--bd) solid var(--c-accent-2); padding-left: var(--space-5); padding-bottom: var(--space-5); }
.company-message__step:last-child .company-message__body { padding-bottom: 0; }
.company-message__body p + p { margin-top: var(--space-5); }
.company-message__photo picture,.company-message__photo img { display: block; height: 100%; }
.company-message__photo img { object-fit: cover; }
.company-message__continued { grid-column: 1; grid-row: 2; min-width: 0; }
.company-message__continued p + p { margin-top: var(--space-5); }
.company-message__continued .company-message__emphasis { margin-top: var(--space-7); font-family: var(--ff-serif); font-size: var(--fs-8); line-height: var(--lh-2); color: var(--c-accent); }
.company-message__accent { color: var(--c-accent-2); }
.company-message__continued .company-message__sign { margin-top: var(--space-7); border-left: var(--bd-2) solid var(--c-accent-2); padding-left: var(--space-5); color: var(--c-accent); }
@media (max-width: 1024px) {
 .principle-intro,.company-message__opening { gap: var(--space-6); }
 .principle-declaration { font-size: var(--fs-8); }
 .principle-cards { column-gap: var(--space-6); }
 .company-message__step { grid-template-columns: var(--space-8) minmax(0,1fr); gap: var(--space-4); }
 .company-message__year { font-size: var(--fs-6); }
}
@media (max-width: 768px) {
 .principle-intro { grid-template-columns: minmax(0,1fr); gap: var(--space-5); }
 .principle-intro__text { padding-block: var(--space-5) 0; }
 .principle-declaration { font-size: var(--fs-7); }
 .principle-intro__photo img { aspect-ratio: 8 / 5; }
 .principle-cards,.principle-cards--three { grid-template-columns: minmax(0,1fr); row-gap: var(--space-6); }
 .principle-mission,.principle-value { padding-block: var(--space-7); }
 .principle-vision { padding: var(--space-6) var(--space-5); }
 .principle-vision__copy { font-size: var(--fs-7); }
 .company-message__opening { grid-template-columns: minmax(0,1fr); }
 .company-message__catch { font-size: var(--fs-8); }
 .company-message__step { gap: var(--space-3); }
 .company-message__year { font-size: var(--fs-3); }
 .company-message__body { padding-left: var(--space-4); }
 .company-message__photo { grid-column: 1; grid-row: 2; position: static; height: auto; }
 .company-message__photo img { aspect-ratio: 4 / 3; }
 .company-message__continued { grid-column: 1; grid-row: 3; }
 .company-message__continued .company-message__emphasis { font-size: var(--fs-7); }
}
