.culture-page{min-height:0;overflow:hidden;display:grid;place-items:center}
.culture-layout{width:min(1264px,calc(100% - 64px));max-height:100%;padding:clamp(22px,4svh,52px) 0;display:flex;flex-direction:column;justify-content:center;transform:translateY(-clamp(0px,4svh,56px))}
.culture-heading{text-align:center}
.culture-heading h1{margin:0;color:#111923;font-size:clamp(34px,3vw,46px);font-weight:700;line-height:1.15;letter-spacing:-.045em}
.culture-heading p{margin:12px 0 0;color:#8792a0;font-size:13px;line-height:1.5}
.culture-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,82px);margin-top:clamp(36px,5svh,64px)}
.culture-pillar{text-align:center}
.culture-pillar h2{margin:0;color:#182330;font-size:clamp(21px,1.9vw,27px);font-weight:600;line-height:1.2}
.culture-accent{display:block;width:34px;height:3px;margin:12px auto 18px;border-radius:3px;background:#1657f6}
.culture-pillar p{max-width:310px;margin:0 auto;color:#273444;font-size:clamp(14px,1.12vw,17px);font-weight:540;line-height:1.7}
.culture-core{margin-top:clamp(42px,7svh,80px);padding:clamp(34px,4.6svh,54px) 30px;border-radius:25px;background:#f5f7fa;text-align:center}
.culture-core h2{margin:0;color:#182330;font-size:clamp(24px,2.2vw,32px);font-weight:650;line-height:1.25}
.culture-core-lines{margin-top:22px}
.culture-core-lines p{margin:5px 0;color:#384657;font-size:clamp(14px,1.08vw,17px);font-weight:500;line-height:1.65}
@media(max-width:900px){.culture-layout{width:calc(100% - 40px);padding:20px 0;transform:none}.culture-heading h1{font-size:36px}.culture-heading p{font-size:12px;margin-top:8px}.culture-pillars{gap:16px;margin-top:34px}.culture-pillar h2{font-size:22px}.culture-accent{margin:9px auto 12px}.culture-pillar p{font-size:13px;line-height:1.5}.culture-core{margin-top:38px;padding:33px 24px}.culture-core h2{font-size:26px}.culture-core-lines{margin-top:15px}.culture-core-lines p{font-size:13px;line-height:1.5}}
@media(max-width:640px){.culture-layout{padding:12px 0}.culture-heading h1{font-size:30px}.culture-heading p{font-size:10px}.culture-pillars{grid-template-columns:1fr;gap:9px;margin-top:20px}.culture-pillar{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;text-align:left;padding:4px 2px}.culture-pillar h2{font-size:16px}.culture-accent{display:none}.culture-pillar p{max-width:none;margin:0;font-size:12px;line-height:1.45}.culture-core{margin-top:20px;padding:23px 16px;border-radius:17px}.culture-core h2{font-size:20px}.culture-core-lines{margin-top:11px}.culture-core-lines p{margin:5px 0;font-size:11px;line-height:1.4}}
@media(max-width:640px) and (max-height:650px){.culture-heading h1{font-size:25px}.culture-heading p{margin-top:4px;font-size:9px}.culture-pillars{margin-top:12px;gap:5px}.culture-pillar{padding:2px}.culture-pillar h2{font-size:14px}.culture-pillar p{font-size:10px;line-height:1.3}.culture-core{margin-top:12px;padding:14px 12px}.culture-core h2{font-size:17px}.culture-core-lines{margin-top:6px}.culture-core-lines p{font-size:9px;line-height:1.25;margin:3px 0}}
@media(max-width:360px) and (max-height:600px){.culture-layout{padding:5px 0}.culture-pillars{margin-top:8px}.culture-core{margin-top:8px}}


/* One centered value statement replaces the former three-column pillars. */
.culture-pillars{grid-template-columns:minmax(0,1fr);width:min(720px,100%);margin-left:auto;margin-right:auto}
.culture-pillar p{max-width:680px;white-space:pre-line;font-size:clamp(18px,1.5vw,21px);line-height:1.55}
.culture-core-lines{max-width:840px;margin-left:auto;margin-right:auto}
@media(max-width:640px){
  .culture-pillar{display:block;text-align:center;padding:0}
  .culture-accent{display:block}
  .culture-pillar p{max-width:100%;margin:0 auto;font-size:16px;line-height:1.55}
}
@media(max-width:640px) and (max-height:650px){
  .culture-pillar p{font-size:14px;line-height:1.4}
}

/* The reference reveals each text group as it enters view. This fixed-height
   page uses one short, top-to-bottom entrance instead of scroll triggers. */
@media (prefers-reduced-motion: no-preference) {
  .culture-heading h1 {
    animation: culture-text-enter 720ms cubic-bezier(.22, 1, .36, 1) both;
  }
  .culture-pillar h2 {
    animation: culture-text-enter 680ms cubic-bezier(.22, 1, .36, 1) 180ms both;
  }
  .culture-accent {
    transform-origin: center;
    animation: culture-accent-enter 560ms cubic-bezier(.22, 1, .36, 1) 340ms both;
  }
  .culture-pillar p {
    animation: culture-text-enter 760ms cubic-bezier(.22, 1, .36, 1) 430ms both;
  }
  .culture-core {
    animation: culture-panel-enter 800ms cubic-bezier(.22, 1, .36, 1) 650ms both;
  }
  .culture-core h2 {
    animation: culture-text-enter 620ms cubic-bezier(.22, 1, .36, 1) 780ms both;
  }
  .culture-core-lines p {
    animation: culture-text-enter 560ms cubic-bezier(.22, 1, .36, 1) both;
  }
  .culture-core-lines p:nth-child(1) { animation-delay: 900ms; }
  .culture-core-lines p:nth-child(2) { animation-delay: 1000ms; }
  .culture-core-lines p:nth-child(3) { animation-delay: 1100ms; }
  .culture-core-lines p:nth-child(4) { animation-delay: 1200ms; }
}
@keyframes culture-text-enter {
  from { opacity: 0; transform: translate3d(0, 17px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes culture-panel-enter {
  from { opacity: 0; transform: translate3d(0, 22px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes culture-accent-enter {
  from { opacity: 0; transform: scaleX(.18); }
  to { opacity: 1; transform: scaleX(1); }
}


/* The painted background is revealed only after the final line has entered. */
.culture-core {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.culture-core::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background: url("culture-pastel-oil-v1.png") center / cover no-repeat;
}
.culture-core > * {
  position: relative;
  z-index: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .culture-core::before {
    animation: culture-paint-reveal 1350ms cubic-bezier(.25, .7, .2, 1) 1900ms both;
  }
}
@keyframes culture-paint-reveal {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}

.culture-title-sub{display:block;margin-top:10px;font-size:.68em;font-weight:500;letter-spacing:.02em;line-height:1.25}

/* Keep the full painted background; slide a solid cover to reveal it without WebKit clip-path clipping. */
.culture-core{background:#f5f7fa url("culture-pastel-oil-v1.webp") center/cover no-repeat}
.culture-core::before{display:none;animation:none}
@media(prefers-reduced-motion:no-preference){
  .culture-core::before{
    display:block;
    border-radius:0;
    background:#f5f7fa;
    animation:culture-paint-uncover 1350ms cubic-bezier(.25,.7,.2,1) 1900ms both;
  }
}
@keyframes culture-paint-uncover{
  from{transform:translateX(0)}
  to{transform:translateX(100%)}
}
@media(max-width:900px){body[data-page="about"]{height:auto;min-height:100svh}body[data-page="about"] .culture-page{display:block;overflow:visible;padding:42px 0 36px}.culture-layout{margin:auto;max-height:none;transform:none}.culture-core-lines p{font-size:14px;line-height:1.65}}
