:root{--paper:#f2efe9;--ink:#111318;--muted:#646b72;--line:#cbc6bd;--blue:#1455c7;--dark:#071018;--g:clamp(20px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}img,video{display:block;max-width:100%}a{color:inherit}.skip{position:fixed;top:-5rem;left:1rem;background:#fff;padding:.7rem;z-index:100}.skip:focus{top:1rem}
.header{height:82px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--g);transition:.25s}.header.scrolled{background:rgba(242,239,233,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08)}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand strong{letter-spacing:.25em;font-size:1rem}.brand span{margin-top:.55rem;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.14em}nav{display:flex;gap:clamp(15px,2.3vw,34px)}nav a{text-decoration:none;text-transform:uppercase;font-size:.66rem;font-weight:800;letter-spacing:.08em}.menu{display:none;background:none;border:1px solid var(--ink);border-radius:999px;padding:.55rem .8rem}
.section{padding:96px var(--g)}.eyebrow,.tag{color:var(--blue);text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.16em}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.hero{min-height:100vh;position:relative;padding:125px var(--g) 55px;overflow:hidden;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;width:48%;max-width:720px}.hero h1{font-size:clamp(4rem,6.4vw,7.1rem);line-height:.94;letter-spacing:-.06em;margin:.65rem 0 1.5rem}.accent-dot{color:var(--blue)}.intro{font-size:1.15rem;max-width:630px;color:#30343a}.specialties{display:flex;flex-wrap:wrap;gap:14px;margin:1.8rem 0}.specialties span{font-size:.72rem;text-transform:uppercase;font-weight:800;letter-spacing:.16em}.specialties span:not(:last-child)::after{content:"•";color:var(--blue);margin-left:14px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;min-height:52px;align-items:center;padding:0 20px;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.06em}.primary{background:var(--blue);color:#fff}.text{border-bottom:1px solid #8e918d;padding-inline:0}.hero-art{position:absolute;inset:0}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.philosophy{display:grid;grid-template-columns:210px 1fr;gap:35px;border-top:1px solid var(--line)}.philosophy h2{font-size:clamp(2.5rem,4.2vw,4.6rem);line-height:1.02;text-align:center;max-width:930px;margin:0 auto 60px}.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;max-width:1040px;margin:auto}.principle{font-size:.88rem}.principle b{font-size:1.7rem;font-weight:400;display:block;margin-bottom:.9rem}
.reel{background:var(--dark);color:#fff;display:grid;grid-template-columns:.42fr 1fr;gap:55px;align-items:center}.reel h2{font-size:clamp(2.3rem,4.3vw,4.8rem);line-height:1.03;letter-spacing:-.045em;margin:1rem 0}.reel p{color:#c5cbd0;max-width:450px}.video-wrap{position:relative;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.4);border-radius:12px;overflow:hidden;background:#02070b}.video-wrap video{width:100%;height:100%;object-fit:cover}.video-cover{position:absolute;inset:0;border:0;color:#fff;background-size:cover;background-position:center;display:grid;place-content:center;gap:10px;text-align:center}.video-cover::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}.video-cover>*{position:relative;z-index:1}.video-cover span{font-size:2.2rem}.video-cover b{text-transform:uppercase;font-size:.68rem;letter-spacing:.14em}
.stories{display:grid;grid-template-columns:250px 1fr;gap:38px}.stories-head h2{font-size:3.6rem;line-height:1.02;margin:1.7rem 0}.link{display:inline-block;margin-top:1rem;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.5rem;font-size:.68rem;font-weight:800;letter-spacing:.07em}.story-scroller{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.story-card{position:relative;min-height:420px;color:#fff;overflow:hidden;background:#071018}.story-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 12%,rgba(0,0,0,.95))}.story-copy{position:absolute;z-index:2;inset:0;padding:16px;display:flex;flex-direction:column}.story-copy .bottom{margin-top:auto}.story-copy h3{font-size:1.55rem;line-height:1;margin:.6rem 0}.company{color:#4f98ff;font-size:.7rem}.story-copy p{font-size:.73rem}.story-copy a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #fff;border-radius:50%;text-decoration:none}
.metrics{background:linear-gradient(120deg,#111820,#05080b);color:#fff;display:grid;grid-template-columns:repeat(5,1fr);padding:28px var(--g)}.metric{text-align:center;border-right:1px solid rgba(255,255,255,.25);padding:0 18px}.metric:last-child{border:0}.metric strong{display:block;font-size:3.3rem;line-height:1}.metric span{text-transform:uppercase;font-size:.6rem;letter-spacing:.12em}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.about-img{width:100%;border-radius:4px}.about h2{font-size:clamp(2.7rem,5vw,5.3rem);line-height:1.02;margin:1.2rem 0}.about p{color:var(--muted);font-size:1.05rem}
.experience{display:grid;grid-template-columns:210px 1fr;gap:42px;border-top:1px solid var(--line)}.experience-list{border-top:1px solid var(--line)}.experience-list div{display:grid;grid-template-columns:130px 1.15fr 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.experience-list span,.experience-list em{color:var(--muted);font-size:.86rem}.experience-list em{font-style:normal}
.exploration{display:grid;grid-template-columns:210px 1fr;gap:42px;background:#ebe7df}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.explore-grid article{background:var(--paper);padding:28px;border-top:3px solid var(--blue);min-height:240px}.explore-grid article>span{color:var(--blue);font-size:.7rem}.explore-grid h3{font-size:2rem;margin:1rem 0}.explore-grid p{color:var(--muted)}
.contact{background:linear-gradient(120deg,#111820,#05080b);color:#fff;display:grid;grid-template-columns:1fr .75fr .55fr;gap:60px}.contact h2{font-size:clamp(3.2rem,5vw,5.6rem);line-height:.95;letter-spacing:-.05em;margin:.8rem 0}.contact h2 span,.contact a{color:#4d96ff}.contact-links{display:flex;flex-direction:column;gap:13px}.contact-links a{text-decoration:none;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:.8rem}footer{background:#05080b;color:#c5cbd0;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:flex-end;gap:20px;padding:18px var(--g);font-size:.72rem}.reveal{opacity:0;transform:translateY(20px);transition:.6s}.reveal.shown{opacity:1;transform:none}
@media(max-width:1000px){.story-scroller{grid-template-columns:repeat(3,1fr)}.stories{grid-template-columns:200px 1fr}.hero-copy{width:53%}}
@media(max-width:760px){.header{height:72px}.brand span{display:none}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:rgba(242,239,233,.98);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.section{padding:72px 20px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:100px 20px 0;min-height:auto}.hero-copy{width:100%;max-width:none}.hero h1{font-size:3.45rem}.intro{font-size:1rem}.actions{gap:12px}.btn{width:100%;justify-content:center}.btn.text{width:auto;align-self:flex-start}.hero-art{position:relative;inset:auto;margin:30px -20px 0}.hero-art img{height:auto;width:100%;object-fit:cover}.philosophy{grid-template-columns:1fr}.philosophy h2{text-align:left;font-size:2.45rem}.principles{grid-template-columns:repeat(2,1fr);gap:24px}.reel{grid-template-columns:1fr;gap:28px}.reel h2{font-size:2.65rem}.stories{grid-template-columns:1fr}.stories-head h2{font-size:2.8rem}.story-scroller{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px}.story-card{min-width:82vw;scroll-snap-align:start;min-height:420px}.metrics{grid-template-columns:repeat(2,1fr);gap:18px;padding:25px 20px}.metric{border:0;border-bottom:1px solid rgba(255,255,255,.18);padding:12px}.metric:last-child{grid-column:1/-1}.metric strong{font-size:2.8rem}.about{grid-template-columns:1fr;gap:30px}.about h2{font-size:2.7rem}.experience{grid-template-columns:1fr}.experience-list div{grid-template-columns:1fr;gap:4px}.experience-list strong{font-size:1rem}.experience-list span,.experience-list em{font-size:.84rem}.exploration{grid-template-columns:1fr}.explore-grid{grid-template-columns:1fr}.contact{grid-template-columns:1fr;gap:30px}.contact h2{font-size:3.5rem}footer{justify-content:space-between;padding:16px 20px}}
@media(max-width:390px){.hero h1{font-size:3.1rem}.principles{grid-template-columns:1fr}.story-card{min-width:86vw}.contact h2{font-size:3.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}


/* RC4.1 hotfix: safe navigation visibility and interaction improvements */
.header{
  background:rgba(242,239,233,.88);
  border-bottom:1px solid rgba(17,19,24,.10);
  backdrop-filter:blur(14px);
}
.header.scrolled{
  background:rgba(242,239,233,.97);
  box-shadow:0 8px 28px rgba(15,18,22,.08);
}
nav a{
  position:relative;
  padding:.55rem .5rem;
  border-radius:999px;
  transition:color .2s ease, background .2s ease;
}
nav a::after{
  content:"";
  position:absolute;
  left:.55rem;
  right:.55rem;
  bottom:.22rem;
  height:2px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .22s ease;
}
nav a:hover,
nav a:focus-visible,
nav a.is-active{
  color:var(--blue);
  background:rgba(20,85,199,.08);
  outline:none;
}
nav a:hover::after,
nav a:focus-visible::after,
nav a.is-active::after{
  transform:scaleX(1);
  transform-origin:left;
}
.contact-links a:hover,
.contact-links a:focus-visible{
  color:#82b4ff;
}
@media(max-width:760px){
  .header{background:rgba(242,239,233,.97)}
  nav a{border-radius:8px;padding:.8rem}
  nav a::after{left:.8rem;right:.8rem;bottom:.45rem}
}


/* RC4.2: approved cinematic split hero */
.hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,1fr);
  min-height:860px;
  padding:82px 0 0 var(--g);
  align-items:stretch;
}
.hero-copy{
  width:auto;
  max-width:720px;
  align-self:center;
  padding:64px 46px 64px 0;
}
.hero h1{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(3.9rem,5.25vw,6.1rem);
  line-height:.96;
  letter-spacing:-.045em;
  max-width:710px;
}
.hero-art{
  position:relative;
  inset:auto;
  min-height:778px;
  overflow:hidden;
  background:#c9cfd2;
}
.hero-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:1000px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(430px,.9fr)}
  .hero-copy{padding-right:28px}
  .hero h1{font-size:clamp(3.5rem,5.3vw,5.4rem)}
}
@media(max-width:760px){
  .hero{
    display:flex;
    flex-direction:column;
    padding:100px 20px 0;
    min-height:auto;
  }
  .hero-copy{
    width:100%;
    max-width:none;
    padding:0;
  }
  .hero h1{
    font-family:Arial,Helvetica,sans-serif;
    font-weight:700;
    font-size:3.35rem;
    line-height:.95;
    letter-spacing:-.055em;
  }
  .hero-art{
    min-height:0;
    aspect-ratio:.84/1;
    margin:30px -20px 0;
  }
  .hero-art img{
    object-position:center top;
  }
}


/* RC4.3: final hero fidelity pass */
.hero{
  grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);
  min-height:840px;
}
.hero-copy{
  max-width:700px;
  padding-right:36px;
}
.hero h1{
  font-size:clamp(3.85rem,5vw,5.85rem);
  line-height:.97;
  max-width:680px;
}
.hero-art{
  min-height:758px;
}
.hero-art img{
  object-position:center center;
}
.philosophy{
  padding-top:72px;
  padding-bottom:72px;
}
.philosophy h2{
  font-size:clamp(2.35rem,3.6vw,4rem);
  max-width:760px;
  margin-bottom:42px;
}
.reel{
  padding-top:70px;
  padding-bottom:70px;
}
.reel h2{
  max-width:520px;
  font-size:clamp(2.15rem,3.35vw,3.85rem);
}
@media(max-width:1000px){
  .hero{
    grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);
  }
}
@media(max-width:760px){
  .hero{
    display:flex;
    min-height:auto;
  }
  .hero h1{
    font-family:Arial,Helvetica,sans-serif;
    font-size:3.3rem;
    line-height:.95;
  }
  .hero-art{
    aspect-ratio:.82/1;
  }
}


/* RC4.4: approved hero composition */
.hero{
  grid-template-columns:minmax(0,.9fr) minmax(590px,1.1fr);
  min-height:790px;
}
.hero-copy{
  max-width:670px;
  padding-right:30px;
}
.hero h1{
  font-size:clamp(3.7rem,4.75vw,5.55rem);
  line-height:.98;
  max-width:650px;
}
.hero-art{
  min-height:708px;
}
.hero-art img{
  object-position:center center;
}
.philosophy{
  padding-top:64px;
  padding-bottom:64px;
}
.philosophy h2{
  font-size:clamp(2.2rem,3.25vw,3.65rem);
  max-width:720px;
}
@media(max-width:1000px){
  .hero{
    grid-template-columns:minmax(0,1fr) minmax(450px,.92fr);
  }
}
@media(max-width:760px){
  .hero{
    display:flex;
    min-height:auto;
  }
  .hero h1{
    font-family:Arial,Helvetica,sans-serif;
    font-size:3.25rem;
    line-height:.95;
  }
  .hero-art{
    aspect-ratio:.80/1;
  }
}


/* RC4.5: philosophy layout aligned to approved mockup */
.philosophy{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:34px;
  align-items:start;
  padding-top:58px;
  padding-bottom:58px;
}
.philosophy > div:last-child{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.55fr);
  gap:58px;
  align-items:center;
}
.philosophy h2{
  margin:0;
  max-width:430px;
  text-align:left;
  font-size:clamp(2.15rem,2.85vw,3.35rem);
  line-height:1.08;
}
.principles{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  width:100%;
  max-width:none;
  margin:0;
}
.principle{
  min-height:155px;
  padding:8px 24px 8px 28px;
  border-left:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.principle:first-child{
  border-left:0;
}
.principle b{
  font-size:1.75rem;
  margin-bottom:1rem;
}
.principle div{
  font-size:.82rem;
  line-height:1.45;
  max-width:190px;
}

@media(max-width:1100px){
  .philosophy{
    grid-template-columns:160px minmax(0,1fr);
    gap:26px;
  }
  .philosophy > div:last-child{
    grid-template-columns:minmax(250px,.7fr) minmax(0,1.4fr);
    gap:34px;
  }
  .principle{
    padding-left:18px;
    padding-right:16px;
  }
}

@media(max-width:760px){
  .philosophy{
    grid-template-columns:1fr;
    gap:22px;
    padding-top:62px;
    padding-bottom:62px;
  }
  .philosophy > div:last-child{
    display:block;
  }
  .philosophy h2{
    max-width:none;
    font-size:2.35rem;
    margin-bottom:34px;
  }
  .principles{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
  }
  .principle{
    min-height:150px;
    border-left:0;
    border-top:1px solid var(--line);
    padding:20px 16px 20px 0;
  }
  .principle:nth-child(even){
    padding-left:18px;
    border-left:1px solid var(--line);
  }
  .principle:nth-child(-n+2){
    border-top:0;
  }
}

@media(max-width:390px){
  .principles{
    grid-template-columns:1fr;
  }
  .principle,
  .principle:nth-child(even){
    min-height:auto;
    padding:20px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .principle:first-child{
    border-top:0;
  }
}


/* RC4.6 — locked desktop composition from approved reference */
@media (min-width:761px){
  .hero{
    position:relative;
    display:block;
    min-height:595px;
    overflow:hidden;
    isolation:isolate;
  }
  .hero-copy{
    position:relative;
    z-index:3;
    width:43%;
    max-width:610px;
    padding:118px 0 78px;
  }
  .hero h1{
    font-size:clamp(3.4rem,4.15vw,4.75rem);
    line-height:.98;
    max-width:570px;
  }
  .hero-art{
    position:absolute;
    z-index:1;
    inset:0 0 0 27%;
    min-height:0;
    height:100%;
    overflow:hidden;
  }
  .hero-art::before{
    content:"";
    position:absolute;
    z-index:2;
    inset:0 auto 0 0;
    width:43%;
    pointer-events:none;
    background:linear-gradient(90deg,
      var(--paper) 0%,
      rgba(244,241,235,.98) 20%,
      rgba(244,241,235,.88) 43%,
      rgba(244,241,235,.52) 68%,
      rgba(244,241,235,0) 100%);
  }
  .hero-art img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  .philosophy{
    display:grid;
    grid-template-columns:165px 365px minmax(0,1fr);
    column-gap:34px;
    align-items:center;
    min-height:158px;
    padding-top:26px;
    padding-bottom:26px;
  }
  .philosophy > .tag{
    grid-column:1;
    align-self:start;
    margin-top:12px;
  }
  .philosophy > div:last-child{
    grid-column:2 / 4;
    display:contents;
  }
  .philosophy h2{
    grid-column:2;
    font-size:2.18rem;
    line-height:1.05;
    max-width:350px;
    text-align:left;
    margin:0;
  }
  .principles{
    grid-column:3;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%;
    margin:0;
    gap:0;
  }
  .principle{
    min-height:112px;
    padding:6px 20px;
    border-left:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .principle:first-child{border-left:0}
  .principle b{
    font-size:1.55rem;
    margin-bottom:.55rem;
  }
  .principle div{
    font-size:.76rem;
    line-height:1.45;
    max-width:180px;
  }

  .reel{
    grid-template-columns:minmax(310px,.68fr) minmax(0,1.72fr);
    gap:56px;
    padding-top:38px;
    padding-bottom:38px;
  }
  .reel-copy h2{
    font-size:clamp(2.15rem,2.8vw,3.1rem);
    line-height:1.05;
  }
  .video-wrap{
    aspect-ratio:3.2/1;
  }
  .video-wrap video{
    background-image:url("../assets/images/showcase-poster-rc4-6.webp");
    background-size:cover;
    background-position:center;
  }
  .video-cover{
    background-image:url("../assets/images/showcase-poster-rc4-6.webp");
    background-size:cover;
    background-position:center;
    color:transparent;
  }
  .video-cover span,.video-cover b{visibility:hidden}
}

@media (min-width:761px){
.hero{min-height:610px}.hero-copy{padding-top:108px;padding-bottom:78px}
.hero-art{inset:0 0 0 25%}
.hero-art::before{width:47%;background:linear-gradient(90deg,var(--paper) 0%,rgba(244,241,235,.99) 20%,rgba(244,241,235,.90) 43%,rgba(244,241,235,.58) 68%,rgba(244,241,235,0) 100%)}
.hero-art img{object-fit:cover;object-position:center 42%}
.video-wrap{aspect-ratio:3.08/1;background:#0b1117 url("../assets/images/showcase-poster-rc4-8.webp") center/cover no-repeat}
.video-wrap video{background:transparent}
.video-cover{background-image:linear-gradient(rgba(0,0,0,.02),rgba(0,0,0,.12)),url("../assets/images/showcase-poster-rc4-8.webp")!important;background-size:cover!important;background-position:center!important;color:#fff!important}
.video-cover span{visibility:visible!important;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:auto;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.8);font-size:1.7rem}
.video-cover b{visibility:visible!important;margin-top:10px;color:#fff}
.about-img{aspect-ratio:1.55/1;object-fit:cover;object-position:center}
}
@media(max-width:760px){.hero-art img{object-position:center 18%}}

/* RC4.8 final framing fixes */
@media (min-width:761px){
  .hero-art img{object-fit:cover!important;object-position:center top!important}
}


/* RC4.9 mobile hero fix */
@media(max-width:760px){
  .hero-art{
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:hidden;
  }
  .hero-art img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}


/* RC4.10 mobile hero hard reset: remove duplicate/background imagery */
@media(max-width:760px){
  .hero{
    background:none !important;
  }
  .hero-art{
    position:relative !important;
    inset:auto !important;
    margin:30px -20px 0 !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    background:none !important;
    background-image:none !important;
  }
  .hero-art::before,
  .hero-art::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }
  .hero-art source{
    display:none;
  }
  .hero-art img{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    background:none !important;
    filter:none !important;
  }
}


/* RC4.11 authoritative mobile hero rules */
@media(max-width:760px){
  .hero{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    overflow:visible !important;
    background:var(--paper) !important;
  }
  .hero-art{
    position:relative !important;
    inset:auto !important;
    z-index:1 !important;
    order:2 !important;
    width:calc(100% + 40px) !important;
    margin:30px -20px 0 !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    background:transparent !important;
    background-image:none !important;
  }
  .hero-art::before,
  .hero-art::after{
    content:none !important;
    display:none !important;
  }
  .hero-art img{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    background:transparent !important;
  }
}


/* RC4.12 final mobile hero isolation */
@media(max-width:760px){
  .hero-art{
    position:relative !important;
    inset:auto !important;
    width:calc(100% + 40px) !important;
    margin:30px -20px 0 !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    background:transparent !important;
    background-image:none !important;
  }
  .hero-art::before,
  .hero-art::after{
    content:none !important;
    display:none !important;
  }
  .hero-art img{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    background:transparent !important;
  }
}


/* RC4.15 desktop hero head-safe framing.
   Keep hero artwork below the fixed 88px desktop header so the portrait is
   not hidden behind navigation. Mobile remains governed by RC4.12. */
@media (min-width:761px){
  .hero-art{
    top:88px !important;
    bottom:0 !important;
  }
  .hero-art img{
    object-fit:cover !important;
    object-position:center top !important;
  }
}


/* RC5 v4: whole Featured Story card is clickable */
.story-card{
  position:relative;
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}
.story-card::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid transparent;
  pointer-events:none;
  transition:border-color .2s ease;
}
.story-card:hover,
.story-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 14px 38px rgba(0,0,0,.28);
  outline:none;
}
.story-card:hover::after,
.story-card:focus-visible::after{
  border-color:rgba(40,120,255,.85);
}
.story-card .story-arrow{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid currentColor;
  border-radius:50%;
  transition:transform .2s ease, border-color .2s ease;
}
.story-card:hover .story-arrow,
.story-card:focus-visible .story-arrow{
  transform:translateX(5px);
  border-color:var(--blue);
}
@media (prefers-reduced-motion:reduce){
  .story-card,
  .story-card::after,
  .story-card .story-arrow{
    transition:none !important;
  }
  .story-card:hover,
  .story-card:focus-visible{
    transform:none;
  }
}


/* RC5 v6: restore Featured Story visuals while preserving full-card links */
.story-card,
.story-card:link,
.story-card:visited{
  position:relative;
  display:block;
  min-height:420px;
  overflow:hidden;
  background:#071018;
  color:#fff !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}

/* Restore the original readability gradient over the artwork. */
.story-card::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  border:0;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.03) 0%,
      rgba(0,0,0,.08) 30%,
      rgba(0,0,0,.62) 67%,
      rgba(0,0,0,.96) 100%
    );
  box-shadow:inset 0 0 0 1px transparent;
  transition:box-shadow .2s ease;
}

.story-card img{
  z-index:0;
  opacity:1 !important;
}

.story-card .story-copy{
  z-index:2;
  color:#fff !important;
}

.story-card .story-copy > span,
.story-card .story-copy h3,
.story-card .story-copy p{
  color:#fff !important;
}

.story-card .company{
  color:#4f98ff !important;
}

.story-card .story-arrow{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-top:14px;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:rgba(0,0,0,.12);
  transition:transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.story-card:hover,
.story-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 14px 38px rgba(0,0,0,.28);
  outline:none;
}

.story-card:hover::after,
.story-card:focus-visible::after{
  box-shadow:inset 0 0 0 2px rgba(40,120,255,.9);
}

.story-card:hover .story-arrow,
.story-card:focus-visible .story-arrow{
  transform:translateX(5px);
  border-color:#4f98ff;
  background:rgba(40,120,255,.18);
}

@media (prefers-reduced-motion:reduce){
  .story-card,
  .story-card::after,
  .story-card .story-arrow{
    transition:none !important;
  }
  .story-card:hover,
  .story-card:focus-visible{
    transform:none;
  }
}


/* RC5 v8 — Philosophy section: stronger four-principle presentation */
.philosophy{
  padding-top:72px;
  padding-bottom:72px;
}

.philosophy-grid{
  display:grid;
  grid-template-columns:minmax(140px,.65fr) minmax(360px,1.45fr) minmax(0,3.9fr);
  align-items:stretch;
  gap:34px;
}

.philosophy .section-kicker{
  padding-top:10px;
}

.philosophy h2{
  max-width:620px;
  margin:0;
  font-size:clamp(46px,3.55vw,72px);
  line-height:.98;
  letter-spacing:-.035em;
}

.principles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-self:stretch;
}

.principle{
  min-height:150px;
  padding:24px 26px 22px;
  border:1px solid rgba(7,16,24,.13);
  background:rgba(255,255,255,.26);
  display:grid;
  grid-template-columns:56px 1fr;
  grid-template-rows:auto 1fr;
  column-gap:18px;
  align-items:start;
  text-align:left;
}

.principle + .principle{
  border-left:1px solid rgba(7,16,24,.13);
}

.principle .symbol{
  grid-row:1 / span 2;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  margin:0;
  border:1px solid rgba(7,16,24,.18);
  border-radius:50%;
  font-size:31px;
  line-height:1;
  font-family:Georgia, "Times New Roman", serif;
}

.principle p{
  margin:7px 0 0;
  max-width:250px;
  font-size:18px;
  line-height:1.38;
  font-weight:600;
}

@media (max-width:1200px){
  .philosophy-grid{
    grid-template-columns:150px minmax(320px,1fr) minmax(0,2fr);
    gap:24px;
  }

  .principle{
    min-height:140px;
    padding:20px;
    grid-template-columns:48px 1fr;
    column-gap:14px;
  }

  .principle .symbol{
    width:48px;
    height:48px;
    font-size:27px;
  }

  .principle p{
    font-size:16px;
  }
}

@media (max-width:900px){
  .philosophy{
    padding-top:54px;
    padding-bottom:54px;
  }

  .philosophy-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .philosophy .section-kicker{
    padding-top:0;
  }

  .philosophy h2{
    max-width:700px;
    font-size:clamp(42px,8vw,64px);
  }

  .principles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:620px){
  .principles{
    grid-template-columns:1fr;
  }

  .principle{
    min-height:0;
    padding:22px;
    grid-template-columns:52px 1fr;
  }

  .principle .symbol{
    width:52px;
    height:52px;
    font-size:29px;
  }

  .principle p{
    max-width:none;
    font-size:17px;
  }
}


/* RC5 v9 — Philosophy: four-column editorial principles */
.philosophy{
  padding-top:62px;
  padding-bottom:62px;
}

.philosophy-grid{
  display:grid;
  grid-template-columns:minmax(145px,.55fr) minmax(380px,1.35fr) minmax(0,4.1fr);
  gap:34px;
  align-items:stretch;
}

.philosophy h2{
  max-width:560px;
  margin:0;
  font-size:clamp(48px,3.45vw,70px);
  line-height:.99;
  letter-spacing:-.035em;
}

.principles{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-self:stretch;
}

.principle{
  position:relative;
  min-height:240px;
  padding:112px 24px 26px;
  overflow:hidden;
  border:1px solid rgba(7,16,24,.15);
  background:
    linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.14));
  display:flex;
  align-items:flex-end;
  text-align:left;
}

.principle + .principle{
  border-left:1px solid rgba(7,16,24,.15);
}

.principle .symbol{
  position:absolute;
  top:20px;
  left:22px;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:72px;
  line-height:1;
  color:#0b1118;
}

.principle::before{
  content:"";
  position:absolute;
  left:22px;
  top:100px;
  width:56px;
  height:2px;
  background:#1460d2;
}

.principle p{
  position:relative;
  z-index:1;
  max-width:230px;
  margin:0;
  font-size:21px;
  line-height:1.28;
  font-weight:650;
  letter-spacing:-.012em;
}

.principle:nth-child(1){background:linear-gradient(180deg,rgba(40,120,255,.10),rgba(255,255,255,.18))}
.principle:nth-child(2){background:linear-gradient(180deg,rgba(0,145,170,.08),rgba(255,255,255,.18))}
.principle:nth-child(3){background:linear-gradient(180deg,rgba(122,92,255,.08),rgba(255,255,255,.18))}
.principle:nth-child(4){background:linear-gradient(180deg,rgba(255,170,55,.08),rgba(255,255,255,.18))}

.principle:hover{
  border-color:rgba(20,96,210,.42);
}

@media (max-width:1300px){
  .philosophy-grid{
    grid-template-columns:135px minmax(330px,1.15fr) minmax(0,3.2fr);
    gap:24px;
  }

  .principle{
    min-height:220px;
    padding:102px 18px 22px;
  }

  .principle .symbol{
    top:18px;
    left:18px;
    font-size:62px;
  }

  .principle::before{
    left:18px;
    top:91px;
    width:48px;
  }

  .principle p{
    font-size:18px;
  }
}

@media (max-width:1000px){
  .philosophy-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .philosophy h2{
    max-width:760px;
  }

  .principles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .principle{
    min-height:190px;
  }
}

@media (max-width:620px){
  .principles{
    grid-template-columns:1fr;
  }

  .principle{
    min-height:170px;
    padding:84px 22px 22px;
  }

  .principle .symbol{
    font-size:54px;
  }

  .principle::before{
    top:76px;
  }

  .principle p{
    max-width:none;
    font-size:19px;
  }
}


/* RC5 v11 — Philosophy process redesign */
.philosophy{
  display:grid !important;
  grid-template-columns:minmax(135px,.48fr) minmax(0,5.2fr) !important;
  gap:42px !important;
  padding-top:68px !important;
  padding-bottom:68px !important;
  align-items:start !important;
}

.philosophy > .tag{
  padding-top:8px;
}

.philosophy-content{
  display:grid;
  grid-template-columns:minmax(330px,.9fr) minmax(700px,2.15fr);
  gap:58px;
  align-items:start;
}

.philosophy-content > h2{
  max-width:570px !important;
  margin:0 !important;
  text-align:left !important;
  font-size:clamp(48px,3.45vw,68px) !important;
  line-height:.99 !important;
  letter-spacing:-.035em !important;
}

.principles{
  position:relative;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding-top:42px;
  counter-reset:philosophy-step;
}

/* The process label and line connect the four principles visually. */
.principles::before{
  content:"OUR PROCESS";
  position:absolute;
  top:0;
  left:0;
  color:#1460d2;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
}

.principles::after{
  content:"";
  position:absolute;
  z-index:0;
  top:82px;
  left:8%;
  right:8%;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(20,96,210,.15),
    rgba(20,96,210,.55) 18%,
    rgba(20,96,210,.55) 82%,
    rgba(20,96,210,.15)
  );
}

.principle{
  position:relative;
  z-index:1;
  min-height:215px !important;
  padding:0 24px 22px !important;
  border:0 !important;
  border-left:1px solid rgba(7,16,24,.13) !important;
  background:transparent !important;
  display:block !important;
  text-align:left !important;
  counter-increment:philosophy-step;
}

.principle:first-child{
  border-left:0 !important;
  padding-left:0 !important;
}

.principle:last-child{
  padding-right:0 !important;
}

.principle-top{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  min-height:82px;
  margin-bottom:18px;
}

.principle .symbol{
  position:relative !important;
  z-index:2;
  top:auto !important;
  left:auto !important;
  width:72px !important;
  height:72px !important;
  margin:0 !important;
  border:1px solid rgba(20,96,210,.55) !important;
  border-radius:50% !important;
  background:#f5f2ec !important;
  display:grid !important;
  place-items:center !important;
  color:#0b1118 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:42px !important;
  line-height:1 !important;
  box-shadow:0 10px 28px rgba(7,16,24,.08);
}

.principle .step-number{
  padding-top:5px;
  color:rgba(7,16,24,.38);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}

.principle::before{
  content:none !important;
}

.principle h3{
  max-width:230px;
  margin:0 0 12px;
  color:#0b1118;
  font-family:Arial,Helvetica,sans-serif;
  font-size:22px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.025em;
}

.principle p{
  max-width:245px !important;
  margin:0 !important;
  color:#313942;
  font-size:16px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}

.principle:hover .symbol{
  border-color:#1460d2 !important;
  background:#fff !important;
  transform:translateY(-3px);
  transition:transform .2s ease, border-color .2s ease, background-color .2s ease;
}

@media(max-width:1320px){
  .philosophy{
    grid-template-columns:125px minmax(0,1fr) !important;
    gap:28px !important;
  }

  .philosophy-content{
    grid-template-columns:minmax(310px,.8fr) minmax(0,2fr);
    gap:34px;
  }

  .principle{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .principle .symbol{
    width:64px !important;
    height:64px !important;
    font-size:37px !important;
  }

  .principles::after{
    top:78px;
  }

  .principle h3{
    font-size:19px;
  }

  .principle p{
    font-size:14px !important;
  }
}

@media(max-width:1000px){
  .philosophy{
    grid-template-columns:1fr !important;
  }

  .philosophy-content{
    grid-template-columns:1fr;
    gap:38px;
  }

  .philosophy-content > h2{
    max-width:760px !important;
  }

  .principles{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    row-gap:32px !important;
  }

  .principles::after{
    display:none;
  }

  .principle:nth-child(odd){
    border-left:0 !important;
    padding-left:0 !important;
  }
}

@media(max-width:620px){
  .philosophy{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }

  .philosophy-content > h2{
    font-size:clamp(42px,12vw,58px) !important;
  }

  .principles{
    grid-template-columns:1fr !important;
    padding-top:38px;
  }

  .principle,
  .principle:nth-child(odd){
    min-height:0 !important;
    padding:22px 0 28px !important;
    border-left:0 !important;
    border-top:1px solid rgba(7,16,24,.13) !important;
  }

  .principle:first-child{
    border-top:0 !important;
  }

  .principle-top{
    min-height:70px;
    margin-bottom:14px;
  }

  .principle .symbol{
    width:62px !important;
    height:62px !important;
    font-size:36px !important;
  }

  .principle h3,
  .principle p{
    max-width:none !important;
  }

  .principle h3{
    font-size:21px;
  }

  .principle p{
    font-size:16px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .principle:hover .symbol{
    transform:none;
    transition:none;
  }
}


/* RC5 v12 — Philosophy vertical balance and hover clearance */
.philosophy{
  overflow:visible !important;
}

.philosophy-content{
  align-items:start !important;
}

.philosophy-content > h2{
  max-width:500px !important;
  font-size:clamp(44px,3.05vw,60px) !important;
  line-height:.98 !important;
}

.principles{
  overflow:visible !important;
  padding-top:56px !important;
}

.principles::before{
  top:8px !important;
}

.principles::after{
  top:96px !important;
}

.principle{
  overflow:visible !important;
}

.principle-top{
  min-height:88px !important;
}

.principle .symbol{
  transform-origin:center center;
}

.principle:hover .symbol,
.principle:focus-within .symbol{
  transform:translateY(-4px) !important;
}

@media(max-width:1320px){
  .philosophy-content > h2{
    max-width:470px !important;
    font-size:clamp(42px,3vw,56px) !important;
  }

  .principles{
    padding-top:52px !important;
  }

  .principles::after{
    top:91px !important;
  }
}

@media(max-width:1000px){
  .philosophy-content > h2{
    max-width:720px !important;
    font-size:clamp(42px,7vw,58px) !important;
  }
}

@media(max-width:620px){
  .principles{
    padding-top:44px !important;
  }

  .principle:hover .symbol,
  .principle:focus-within .symbol{
    transform:none !important;
  }
}


/* RC5 v13 — Refined Featured Story interactions */
.story-card img{
  transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .35s ease;
  transform-origin:center center;
}
.story-card .story-copy h3{
  position:relative;
  transition:transform .25s ease;
}
.story-card .story-copy h3::after{
  content:"";
  display:block;
  width:0;
  height:2px;
  margin-top:10px;
  background:var(--blue);
  transition:width .3s ease;
}
.story-card:hover img,
.story-card:focus-visible img{
  transform:scale(1.035);
  filter:brightness(1.04);
}
.story-card:hover .story-copy h3,
.story-card:focus-visible .story-copy h3{
  transform:translateY(-4px);
}
.story-card:hover .story-copy h3::after,
.story-card:focus-visible .story-copy h3::after{
  width:44px;
}
@media(prefers-reduced-motion:reduce){
  .story-card img,
  .story-card .story-copy h3,
  .story-card .story-copy h3::after{transition:none!important}
  .story-card:hover img,
  .story-card:focus-visible img,
  .story-card:hover .story-copy h3,
  .story-card:focus-visible .story-copy h3{transform:none!important}
}


/* RC7 — Working Together */
.working-together{
  padding:clamp(80px,10vw,150px) clamp(24px,6vw,96px);
  background:#f5f2ec;
  color:#17212b;
  border-top:1px solid rgba(23,33,43,.12);
  border-bottom:1px solid rgba(23,33,43,.12);
}
.working-together-intro{
  display:grid;
  grid-template-columns:minmax(160px,.45fr) minmax(0,2fr);
  column-gap:48px;
  align-items:start;
}
.working-together-intro .section-eyebrow{
  color:var(--blue);
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.working-together-intro h2{
  grid-column:2;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(44px,5.4vw,82px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.035em;
}
.working-together-intro p{
  grid-column:2;
  max-width:840px;
  margin:26px 0 0;
  color:#46515b;
  font-size:clamp(18px,1.6vw,24px);
  line-height:1.55;
}
.working-together-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:60px;
}
.working-together-card{
  padding:30px 26px 34px;
  min-height:260px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(23,33,43,.14);
  border-radius:10px;
}
.working-together-card>span{
  color:var(--blue);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
}
.working-together-card h3{
  margin:28px 0 14px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:31px;
  font-weight:400;
  line-height:1.08;
}
.working-together-card p{
  margin:0;
  color:#4d5862;
  line-height:1.55;
}
.working-together-closing{
  max-width:960px;
  margin:52px 0 0 auto;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(27px,3vw,45px);
  line-height:1.12;
  color:#17212b;
}
@media(max-width:1000px){
  .working-together-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .working-together-intro{grid-template-columns:1fr}
  .working-together-intro h2,
  .working-together-intro p{grid-column:1}
  .working-together-intro h2{margin-top:18px}
  .working-together-grid{grid-template-columns:1fr;margin-top:40px}
  .working-together-card{min-height:0}
}


/* RC8.1 Career Narrative */
.career-content{min-width:0}
.career-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr);gap:48px;align-items:end;margin-bottom:42px}
.career-intro h2{font-size:clamp(2.5rem,4.2vw,4.8rem);line-height:1.02;margin:0}
.career-intro p{color:var(--muted);font-size:1.02rem;line-height:1.7;margin:0}
.featured-career-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.featured-career-grid article{padding:30px;min-height:260px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.featured-career-grid article:last-child{grid-column:1/-1;min-height:220px}
.featured-career-grid span,.career-timeline span{color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.featured-career-grid h3{font-family:var(--serif);font-size:2.05rem;line-height:1.05;margin:18px 0 10px}
.featured-career-grid strong{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
.featured-career-grid p{color:var(--muted);line-height:1.6;margin:auto 0 0;max-width:52ch}
.career-journey{margin-top:72px}
.career-journey-heading{display:grid;grid-template-columns:210px 1fr;gap:35px;margin-bottom:24px}
.career-journey-heading>span{font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.career-journey-heading p{color:var(--muted);margin:0;max-width:720px}
.career-timeline{border-top:1px solid var(--line)}
.career-timeline div{display:grid;grid-template-columns:130px 1.1fr 1fr;gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}
.career-timeline em{font-style:normal;color:var(--muted);font-size:.86rem}
.actions .btn.primary[href="#featured-work"]{pointer-events:none;opacity:.78}
@media(max-width:900px){.career-intro{grid-template-columns:1fr}.featured-career-grid{grid-template-columns:1fr}.featured-career-grid article:last-child{grid-column:auto}.career-journey-heading{grid-template-columns:1fr}.career-timeline div{grid-template-columns:1fr;gap:4px}}
@media(max-width:760px){.featured-career-grid article{padding:24px;min-height:230px}.featured-career-grid h3{font-size:1.75rem}.career-intro h2{font-size:2.7rem}}

/* RC8.2 — responsive foundation and collision fixes */
html,body{max-width:100%;overflow-x:hidden}
.philosophy-content,.stories-head,.story-scroller,.career-content{min-width:0}

@media (max-width:1480px){
  .philosophy{grid-template-columns:150px minmax(0,1fr);gap:28px}
  .philosophy-content{display:block!important}
  .philosophy-content>h2{max-width:900px!important;margin:0 0 46px!important;text-align:left!important;font-size:clamp(42px,4.2vw,66px)!important;line-height:.98!important}
  .principles{width:100%!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;padding-top:46px!important}
  .principle{min-width:0!important;padding:0 28px 30px!important}
  .principle:nth-child(odd){border-left:0!important}
  .principle:nth-child(n+3){border-top:1px solid var(--line)!important;padding-top:28px!important}
  .principles::before,.principles::after{display:none!important}

  .stories{grid-template-columns:minmax(220px,30%) minmax(0,1fr);gap:32px}
  .stories-head h2{font-size:clamp(44px,4.8vw,70px);overflow-wrap:normal;word-break:normal}
  .story-scroller{grid-template-columns:repeat(2,minmax(250px,1fr));gap:12px}
  .story-card{min-height:500px}
  .story-card:last-child{grid-column:1/-1;min-height:400px}
}

@media (max-width:1120px){
  .header{padding-inline:28px}
  .philosophy{grid-template-columns:1fr;padding-inline:32px}
  .philosophy>.tag{margin-bottom:4px}
  .philosophy-content>h2{max-width:760px!important}
  .stories{grid-template-columns:1fr;padding-inline:32px}
  .stories-head{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:start}
  .stories-head h2{margin:0;font-size:clamp(42px,6.2vw,64px)}
  .story-scroller{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{grid-template-columns:minmax(0,1fr) minmax(400px,.9fr)!important}
  .hero h1{font-size:clamp(52px,5.6vw,76px)!important}
}

@media (max-width:820px){
  .philosophy{padding-inline:24px}
  .philosophy-content>h2{font-size:clamp(38px,8vw,54px)!important;margin-bottom:34px!important}
  .principles{grid-template-columns:1fr!important;padding-top:0!important}
  .principle,.principle:nth-child(n+3){padding:24px 0!important;border-top:1px solid var(--line)!important;border-left:0!important}
  .principle:first-child{border-top:0!important}
  .principle-top{min-height:auto!important}
  .stories{padding-inline:24px}
  .stories-head{grid-template-columns:1fr;gap:16px}
  .stories-head h2{font-size:clamp(40px,10vw,58px)}
  .story-scroller{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;gap:14px;padding-bottom:12px}
  .story-card,.story-card:last-child{grid-column:auto;min-width:min(82vw,430px)!important;min-height:500px!important;scroll-snap-align:start}
}

@media (max-width:760px){
  .hero{display:flex!important;padding:100px 20px 0!important}
  .hero h1{font-size:clamp(46px,13vw,62px)!important}
}
