/* Culture as an editorial sequence: principles, possibility, practice. */
.culture-manifesto { display:grid; grid-template-columns:.7fr 1.6fr; gap:clamp(45px,8vw,125px); padding-block:100px 90px; }
.culture-values-heading { position:sticky; top:145px; align-self:start; }
.culture-values-heading .eyebrow { font-size:10px; color:#52738b; }
.culture-values-heading h2 { font-size:clamp(34px,3.5vw,50px); }
.culture-values-heading .values-statement { font-family:var(--serif); font-size:23px; line-height:1.9; color:#688093; margin-top:26px; }
.culture-heading-line { display:block; width:48px; height:1px; background:#5380a0; margin-block:35px 20px; }
.culture-margin-note { font-size:9px; letter-spacing:.14em; color:#7b8e9c; }
.culture-manifesto .culture-value-grid { display:block; }
.culture-manifesto .culture-value { display:grid; grid-template-columns:125px minmax(0,1fr); gap:30px; padding-block:38px 42px; border-top:0; }
.culture-manifesto .culture-value:first-child { padding-top:8px; }
.value-identity { position:relative; padding-top:10px; }
.culture-manifesto .principle-number { font:11px/1.5 var(--sans); letter-spacing:.1em; color:#7b91a3; }
.culture-symbol { width:100px; height:100px; display:block; margin-top:22px; stroke:#376f9c; stroke-width:1.25; }
.culture-value .value-content>.eyebrow { font-size:10px; letter-spacing:.16em; color:#53758e; margin:0 0 14px; }
.culture-manifesto .culture-value h3 { font-size:clamp(32px,3.2vw,46px); margin-bottom:20px; }
.culture-manifesto .value-content>p:last-child { font-size:16px; color:#637686; line-height:1.95; text-align:var(--copy-alignment); text-wrap:pretty; }
.culture-value .culture-symbol { transition:stroke .35s; }
.culture-value:hover .culture-symbol { stroke:#0a9cce; }
.editorial-motion .culture-value .culture-symbol :is(path,circle) { stroke-dasharray:380; stroke-dashoffset:380; transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1); }
.editorial-motion .culture-value.ed-in .culture-symbol :is(path,circle) { stroke-dashoffset:0; }
.editorial-motion .culture-value.ed-rule::before { top:0; background:#8ca4b5; }
.editorial-motion .culture-value:first-child.ed-rule::before { display:none; }

.culture-horizon-section { border:0; background:#0c233a; color:#eff6fc; padding-block:75px 70px; overflow:hidden; position:relative; }
.culture-horizon-section::after { content:''; position:absolute; width:60vw; height:60vw; right:-30vw; top:-30vw; border-radius:50%; background:radial-gradient(circle,#24538233,transparent 65%); pointer-events:none; }
.culture-future-heading { display:flex; align-items:baseline; gap:45px; position:relative; z-index:1; }
.culture-future-heading .eyebrow { color:#89b6d2; margin:0; font-size:10px; }
.culture-future-heading h2 { font-size:clamp(34px,3.5vw,50px); }
.culture-future-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(40px,7vw,100px); align-items:center; margin-top:30px; }
.culture-horizon { min-width:0; position:relative; }
.culture-horizon svg { width:100%; display:block; overflow:visible; }
.horizon-grid { color:#7eacc5; opacity:.1; stroke-width:.6; }
.horizon-orbits { stroke-width:1.1; transform-origin:300px 230px; }
.horizon-pulse { transform-origin:300px 230px; }
.culture-horizon>span { display:block; text-align:center; font-size:8px; letter-spacing:.22em; color:#7898b0; margin-top:8px; }
.culture-horizon-section .culture-copy p { color:#b9cddb; font-size:16px; max-width:none; }
.culture-horizon-section .culture-copy p:first-child { color:#edf5fa; font-size:19px; }
.culture-horizon-section .culture-copy p+p { margin-top:25px; }
.editorial-motion .culture-horizon { opacity:0; transform:translateY(24px); transition:opacity 1s,transform 1.3s cubic-bezier(.19,1,.22,1); }
.editorial-motion .culture-horizon.ed-in { opacity:1; transform:none; }
.culture-horizon.ed-in .horizon-orbits { animation:culture-orbit 36s linear infinite; }
.culture-horizon.ed-in .horizon-pulse { animation:culture-pulse 4s ease-out infinite; }
@keyframes culture-orbit { to { transform:rotate(360deg); } }
@keyframes culture-pulse { 0% { transform:scale(.6); opacity:.8; } 100% { transform:scale(2.7); opacity:0; } }

.culture-practice { padding-block:90px 110px; border:0; }
.culture-practice>header { display:flex; align-items:baseline; justify-content:space-between; gap:30px; margin-bottom:55px; }
.culture-practice>header .eyebrow { color:#52738b; font-size:10px; margin:0; }
.culture-practice h2 { font-size:clamp(32px,3.3vw,48px); }
.culture-practice .working-principles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:35px; margin:0; list-style:none; }
.culture-practice .working-principles li { display:block; padding:28px 0 0; border:0; position:relative; }
.culture-practice .working-principles .principle-number { font:clamp(62px,6.2vw,90px)/1 Georgia,serif; letter-spacing:-.045em; color:#9ab4c7; padding:0; margin-bottom:30px; display:block; }
.culture-practice .working-principles h3 { font-size:23px; margin-bottom:16px; }
.culture-practice .working-principles p { color:#637686; font-size:15px; }
.culture-practice .working-principles li::after { content:''; width:5px; height:5px; background:#6899bb; border-radius:50%; position:absolute; top:-3px; left:0; }
.culture-practice .working-principles li.ed-rule::before { background:#8ca4b5; }
.editorial-motion .culture-practice .working-principles li.ed-rule::before { transition-delay:calc(var(--work-order) * 100ms); }
.english .culture-manifesto .culture-value h3 { font-size:clamp(29px,3vw,42px); }
.english .culture-practice .working-principles h3 { font-size:23px; line-height:1.35; }

@media(max-width:980px) {
  .culture-manifesto { grid-template-columns:.65fr 1.5fr; gap:40px; padding-block:70px; }
  .culture-manifesto .culture-value { grid-template-columns:85px minmax(0,1fr); gap:20px; }
  .culture-symbol { width:75px; height:75px; }
  .culture-future-layout { gap:35px; }
  .culture-practice .working-principles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; }
}
@media(max-width:680px) {
  .culture-manifesto { display:block; padding-block:55px 35px; }
  .culture-values-heading { position:static; margin-bottom:38px; }
  .culture-values-heading .values-statement { font-size:19px; line-height:1.7; margin-top:18px; }
  .culture-heading-line,.culture-margin-note { display:none; }
  .culture-manifesto .culture-value { grid-template-columns:62px minmax(0,1fr); gap:20px; padding-block:30px; }
  .value-identity { padding-top:2px; }
  .culture-symbol { width:60px; height:60px; margin-top:30px; }
  .culture-manifesto .culture-value h3 { font-size:31px; margin-bottom:15px; }
  .culture-manifesto .value-content>p:last-child { font-size:15px; line-height:1.9; text-align:start; }
  .culture-value .value-content>.eyebrow { font-size:9px; margin-bottom:12px; letter-spacing:.09em; }
  .culture-horizon-section { padding-block:45px 50px; }
  .culture-future-heading { display:block; }
  .culture-future-heading .eyebrow { margin-bottom:18px; }
  .culture-future-layout { grid-template-columns:1fr; gap:28px; margin-top:20px; }
  .culture-horizon { width:100%; max-width:420px; margin-inline:auto; }
  .culture-horizon-section .culture-copy p { font-size:15px; }
  .culture-horizon-section .culture-copy p:first-child { font-size:17px; }
  .culture-practice { padding-block:55px 60px; }
  .culture-practice>header { display:block; margin-bottom:35px; }
  .culture-practice>header .eyebrow { margin-bottom:18px; }
  .culture-practice .working-principles { gap:32px 22px; }
  .culture-practice .working-principles .principle-number { font-size:58px; margin-bottom:23px; }
  .culture-practice .working-principles h3 { font-size:20px; }
  .culture-practice .working-principles p { font-size:14px; }
  .english .culture-practice .working-principles { grid-template-columns:1fr; }
  .english .culture-practice .working-principles li { display:grid; grid-template-columns:65px minmax(0,1fr); gap:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .editorial-motion .culture-value .culture-symbol :is(path,circle) { stroke-dashoffset:0; transition:none; }
  .editorial-motion .culture-horizon { opacity:1; transform:none; transition:none; }
  .culture-horizon.ed-in :is(.horizon-orbits,.horizon-pulse) { animation:none; }
}
@media print {
  .culture-values-heading { position:static; }
  .editorial-motion .culture-value .culture-symbol :is(path,circle) { stroke-dashoffset:0; }
  .editorial-motion .culture-horizon { opacity:1; transform:none; }
  .horizon-orbits,.horizon-pulse { animation:none!important; }
}
