@font-face{font-family:'Yellix';src:url('/fonts/Yellix-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Yellix';src:url('/fonts/Yellix-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Yellix';src:url('/fonts/Yellix-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{font-family:Poppins,Arial,sans-serif;color:#fff;background:#3f72ff;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,.corp-page h3{font-family:'Yellix',Poppins,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffda53;outline-offset:4px}
.skip{position:absolute;left:-9999px;top:0;background:#ffda53;color:#172b72;padding:.8rem;z-index:20}
.skip:focus{left:1rem}
.site-header{position:fixed;inset:0 auto 0 0;width:76px;background:#293a96;z-index:10;display:flex;flex-direction:column;align-items:center}
.brand{display:grid;place-items:center;margin-top:20px;width:56px;height:56px}
.brand img{display:block;width:54px;height:auto}
.language-links{display:grid;gap:.5rem;margin-top:2.3rem;text-align:center}
.language-links a{text-decoration:none;font-size:.9rem;font-weight:600}
.language-links a:hover,.site-menu nav a:hover{color:#ffda53}
.language-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.site-menu{position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%)}
.site-menu summary{display:grid;gap:5px;justify-content:center;padding:15px 0;cursor:pointer;list-style:none}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary span{display:block;width:23px;height:3px;border-radius:2px;background:#fff}
.site-menu nav{position:fixed;left:76px;top:0;width:min(360px,calc(100vw - 76px));height:100vh;padding:clamp(2.5rem,7vh,5rem) 2.2rem 2rem;background:#293a96;box-shadow:12px 0 35px #1c2c76aa;display:flex;flex-direction:column;gap:1.05rem;overflow-y:auto}
.site-menu:not([open]) nav{display:none}
.site-menu nav a{font-family:'Yellix',Poppins,Arial,sans-serif;text-decoration:none;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500;line-height:1.15}
.social-links{margin-top:auto;margin-bottom:1.35rem;display:grid;gap:.55rem}
.social-links a,.social-links img{display:block;width:27px;height:27px}
.landing-header-cta{display:none}
main,footer{margin-left:76px}
.hero{padding:5rem 5vw 4rem}
.hero-frame{min-height:470px;position:relative;overflow:hidden;border-radius:8px 95px 95px 8px;display:flex;align-items:center;background:#263798}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,59,.92) 0%,rgba(7,22,59,.58) 48%,rgba(7,22,59,.05) 100%)}
.portrait-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);min-height:520px}
.portrait-hero:after{display:none}
.portrait-hero .hero-photo{position:static;grid-column:2;grid-row:1;object-position:center}
.portrait-hero .hero-inner{grid-column:1;grid-row:1;align-self:center;width:100%}
.hero-inner{position:relative;z-index:1;width:min(690px,73%);padding:clamp(2rem,6vw,5rem)}
.hero h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:0;text-wrap:balance}
.lead{font-size:clamp(.98rem,1.2vw,1.15rem);line-height:1.5;max-width:580px;margin:2.1rem 0 2.6rem}
.hero-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.button{display:inline-block;background:#ffda53;color:#191919;text-decoration:none;padding:.78rem 2.3rem;font-weight:500;text-align:center}
.button:hover{background:#ffed9e}
.button.dark{background:#293a96;color:#fff}
.text-link{text-underline-offset:5px;font-weight:500;font-size:.9rem}
.text-link:hover{color:#ffda53}
.directory-hero{padding:3.2rem 5vw 2rem;background:#3769eb}
.directory-photo{height:clamp(320px,31vw,550px);overflow:hidden;border-radius:8px 170px 170px 8px}
.directory-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.directory-intro{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:end}
.directory-intro h1{position:relative;margin:-5.4rem 0 0;font-size:clamp(5rem,8.8vw,9.5rem);font-weight:500;letter-spacing:-.075em;line-height:.99}
.directory-intro--services h1{margin:-2.6rem 0 0;font-size:clamp(2.6rem,4.4vw,4.5rem);letter-spacing:-.04em;line-height:1.03;text-wrap:balance}
.directory-intro h1 span{display:block}
.directory-intro p{font-size:clamp(.98rem,1.18vw,1.2rem);line-height:1.38;max-width:590px;margin:0 0 .8rem}
.directory-cta{display:inline-block;margin-top:1rem;padding:.72rem 1.4rem;background:#ffda53;color:#172b72;text-decoration:none;font-size:.9rem;font-weight:600}
.directory-cta:hover{background:#ffed9e}
.content{background:#3769eb}
.landing-page .content>.panel:first-child,.inquiry-panel{background:#fff7dc;color:#293a96}
.inquiry-panel{border-radius:0 110px 0 0}
.inquiry-panel a:focus-visible,.inquiry-panel button:focus-visible,.inquiry-panel input:focus-visible,.inquiry-panel select:focus-visible,.inquiry-panel textarea:focus-visible{outline-color:#293a96}
.landing-page .hero{padding:3.2rem 5vw 3rem;background:#3769eb}
.landing-page .hero-frame,.landing-page .portrait-hero{display:block;min-height:0;overflow:visible;border-radius:0;background:transparent}
.landing-page .hero-frame:after{display:none}
.landing-page .hero-photo,.landing-page .portrait-hero .hero-photo{display:block;position:static;width:100%;height:clamp(350px,30vw,490px);object-fit:cover;border-radius:8px 170px 170px 8px}
.landing-page .hero-photo[src$="/7IV08584-Edson.jpg"]{object-position:center 32%}
.landing-page .hero-inner,.landing-page .portrait-hero .hero-inner{--title-size:clamp(4rem,6vw,6.5rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,4vw,4rem);align-items:end;width:100%;padding:0;z-index:2}
.landing-page.long-title .hero-inner{--title-size:clamp(3.8rem,5vw,5.8rem)}
.landing-page.very-long-title .hero-inner{--title-size:clamp(3.4rem,4.5vw,5.2rem)}
.landing-page .hero-title{min-width:0;margin-top:calc(var(--title-size) * -.52)}
.landing-page .hero h1{font-size:var(--title-size);line-height:1.04;letter-spacing:-.065em;text-wrap:balance}
.landing-page .hero-summary{min-width:0;padding-top:1.75rem}
.landing-page .lead{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.48;margin:0 0 1.5rem;max-width:36ch}
.brand-illustration,.world-illustration{padding:0 3vw}
.brand-illustration img,.world-illustration img{display:block;width:100%;height:auto}
.mobile-only{display:none}
.mobile-teams{display:none}
.services-section{padding:2rem 5vw 7rem}
.services-section h2{font-size:clamp(3.8rem,6vw,7rem);font-weight:500;line-height:.95;letter-spacing:-.06em;margin:0 0 3rem}
.services-section h2 span{display:block;color:#d7e2ff}
.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,4vw,5rem);row-gap:2rem}
.service-tile{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:1.2rem;min-width:0;text-decoration:none}
.service-tile img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:27px;outline:1px solid rgba(0,0,0,.1)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-tile img{transition-property:transform;transition-duration:.2s}.service-tile:hover img{transform:translateY(-5px)}}
@media(prefers-reduced-motion:no-preference){.button,.directory-cta,.landing-header-cta{transition-property:scale;transition-duration:.12s}.button:active,.directory-cta:active,.landing-header-cta:active{scale:.96}}
.service-tile-copy{display:block;padding-bottom:.2rem}
.service-tile-copy strong{display:block;font-size:clamp(1.1rem,1.8vw,1.9rem);line-height:1.17;font-weight:400;margin-bottom:.75rem}
.service-tile-copy span{display:inline-block;font-size:clamp(.9rem,1.2vw,1.1rem);border-bottom:1px solid #ffda53;padding-bottom:.2rem}
.service-tile:hover .service-tile-copy span{color:#ffda53}
.panel{padding:clamp(3.5rem,7vw,8rem) max(5vw,1.25rem);display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr);align-items:start;gap:clamp(2rem,6vw,7rem)}
.content>.panel:first-of-type{padding-top:3rem;padding-bottom:3rem}
.content>.panel:first-of-type h2{font-size:clamp(2.2rem,3vw,3.6rem)}
.panel h2{font-size:clamp(2.4rem,4vw,5rem);font-weight:500;line-height:1.05;letter-spacing:-.055em;margin:0;text-wrap:balance}
.feature-list{max-width:100%}
.landing-page .feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature-list strong{font-weight:500;font-size:1.35rem;line-height:1.25;display:block}
.feature-list li p{font-size:1rem;line-height:1.6;margin-top:.8rem}
.inquiry-panel .button{margin-top:1.6rem}
.inquiry-panel .cta-hint,.work-copy .photo-caption{font-size:.85rem;line-height:1.5;margin-top:.8rem}
.landing-page .panel:has(.feature-list) h2{font-size:clamp(2.4rem,3.4vw,4rem)}
.panel p{font-size:clamp(1.03rem,1.3vw,1.27rem);line-height:1.65;margin:0;max-width:770px}
.panel p+p{margin-top:1.25rem}
.panel>.button{justify-self:start}
.panel>*:not(h2){min-width:0}
.panel:has(.service-gallery){display:block}
.panel:has(.service-gallery) h2{margin-bottom:2.5rem}
.panel:has(.state-index){display:block;padding-top:3.5rem;padding-bottom:3.5rem}
.panel:has(.state-index) h2{font-size:clamp(2rem,3vw,3.4rem);margin-bottom:1.5rem}
.state-index summary{cursor:pointer;border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:1rem 0;font-weight:600;list-style:none}
.state-index summary:after{content:'+';float:right;font-size:1.3rem;line-height:1}
.state-index[open] summary:after{content:'−'}
.state-index .link-list{margin-top:1.5rem}
.link-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;row-gap:0;padding:0;margin:0}
.link-list li{border-top:1px solid currentColor}
.link-list li:last-child,.link-list li:nth-last-child(2){border-bottom:1px solid currentColor}
.link-list a{display:flex;align-items:center;gap:1rem;min-height:58px;padding:.75rem 0;text-decoration:none;font-size:clamp(.92rem,1vw,1.08rem);font-weight:500}
.link-list a:hover{text-decoration:underline;text-decoration-color:#ffda53;text-underline-offset:5px}
.feature-list{list-style:none;counter-reset:scope;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:0;margin:0}
.feature-list li{counter-increment:scope;border-top:1px solid currentColor;padding-top:1.15rem;font-size:clamp(1rem,1.23vw,1.3rem);line-height:1.5;font-weight:500}
.feature-list li:before{content:'0' counter(scope);display:block;font-size:.75rem;font-weight:700;margin-bottom:1rem}
.work-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);min-height:540px;background:#293a96}
.work-photo{min-height:540px;overflow:hidden}
.work-photo img{display:block;width:100%;height:100%;object-fit:cover}
.work-copy{align-self:center;padding:clamp(2rem,5vw,5rem)}
.work-copy h2{font-size:clamp(2.8rem,4vw,5rem);line-height:1.05;letter-spacing:-.055em;font-weight:500;margin:0}
.work-copy p{font-size:1.1rem;line-height:1.6;margin:1.5rem 0 2rem}
footer{background:#293a96;padding:4rem 5vw;display:flex;justify-content:space-between;align-items:end;gap:2rem}
footer img{max-width:190px;height:auto}
footer>div{display:flex;gap:1.8rem;font-size:.9rem}
footer a{text-underline-offset:5px}
.landing-footer p{margin:0;font-size:1rem;line-height:1.5}
.landing-footer a{font-weight:600}
.landing-footer .privacy-choices{font-weight:400;font-size:.9rem}
.inquiry-panel form{display:grid;gap:.65rem;max-width:580px;margin-top:1.8rem}
.inquiry-panel fieldset{display:grid;gap:.65rem;border:0;margin:0;padding:0;min-width:0}
.inquiry-panel legend{font-size:.9rem;font-weight:600;margin-bottom:.5rem}
.inquiry-panel label{font-size:.91rem;font-weight:600;margin-top:.45rem}
.inquiry-panel input,.inquiry-panel select,.inquiry-panel textarea{width:100%;border:2px solid transparent;border-radius:0;padding:.8rem .9rem;background:#fff;color:#172b72;font:inherit}
.inquiry-panel select{appearance:none;padding-right:2.6rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23172b72' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .95rem center;cursor:pointer}
.inquiry-panel input:focus,.inquiry-panel select:focus,.inquiry-panel textarea:focus{outline:3px solid #ffda53;outline-offset:2px}
.inquiry-panel button{border:0;cursor:pointer;justify-self:start;margin-top:1rem;font:inherit}
.inquiry-panel button:disabled{opacity:.7;cursor:wait}
.inquiry-panel .form-status{font-size:.9rem;min-height:1.5em}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:900px){
  .panel{grid-template-columns:1fr;gap:2rem}
  .feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-inner{width:min(750px,90%)}
  .work-story{grid-template-columns:1fr}
  .work-photo{min-height:420px;max-height:530px}
  .work-copy{padding:3.5rem 5vw}
  .service-gallery{column-gap:1.5rem}
  .service-tile{grid-template-columns:1fr}
  .service-tile img{aspect-ratio:4/3}
}
@media(min-width:651px) and (max-width:900px){
  .landing-page .hero-photo,.landing-page .portrait-hero .hero-photo{height:350px;border-radius:8px 100px 100px 8px}
  .landing-page .hero-inner,.landing-page .portrait-hero .hero-inner{--title-size:clamp(3.6rem,8vw,5rem);display:block;width:100%;padding:0}
  .landing-page .hero h1{font-size:clamp(3.6rem,8vw,5rem)}
  .landing-page.long-title .hero h1{font-size:clamp(3.3rem,7vw,4.5rem)}
  .landing-page.very-long-title .hero h1{font-size:clamp(3rem,6vw,4rem)}
  .landing-page .lead{max-width:52ch}
}
@media(max-width:650px){
  .site-header{position:relative;inset:auto;width:100%;height:64px;flex-direction:row;justify-content:space-between;padding:0 1rem}
  .brand{margin:0;width:42px;height:42px}
  .brand img{width:42px}
  .language-links{display:flex;gap:1rem;margin:0 0 0 auto}
  .site-menu{position:relative;top:auto;left:auto;width:52px;transform:none;margin-left:1rem}
  .site-menu summary{padding:14px 0}
  .site-menu nav{position:absolute;top:52px;left:auto;right:-1rem;width:100vw;height:auto;min-height:250px;padding:2rem;background:#293a96}
  .social-links{display:none}
  .landing-header-cta{display:block;margin-left:auto;padding:.62rem .8rem;background:#ffda53;color:#172b72;text-decoration:none;font-size:.76rem;font-weight:700}
  .landing-header:has(.language-links) .landing-header-cta{display:none}
  main,footer{margin-left:0}
  .hero{padding:1rem 1rem 2rem}
  .hero-frame{min-height:550px;border-radius:8px 75px 75px 8px;align-items:end}
  .hero-frame:after{background:linear-gradient(0deg,rgba(7,22,59,.92),rgba(7,22,59,.25) 95%)}
  .hero-inner{width:100%;padding:2rem}
  .hero h1{font-size:clamp(2.7rem,12vw,4.6rem)}
  .lead{font-size:1rem;margin:1.2rem 0 1.5rem}
  .hero-actions{gap:1rem}
  .landing-page .hero-frame,.landing-page .portrait-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;border-radius:0;background:none}
  .landing-page .hero-frame:after{display:none}
  .landing-page .hero-photo,.landing-page .portrait-hero .hero-photo{position:static;width:100%;height:280px;object-position:center;border-radius:8px 75px 75px 8px}
  .landing-page .hero-inner,.landing-page .portrait-hero .hero-inner{display:block;width:100%;padding:0;align-self:stretch}
  .landing-page .hero-inner,.landing-page .portrait-hero .hero-inner{order:1;margin-top:0}
  .landing-page .hero-photo,.landing-page .portrait-hero .hero-photo{order:2;margin-top:1.8rem}
  .landing-page .hero-title{margin-top:0}
  .landing-page .hero-summary{padding-top:0}
  .landing-page .hero h1{font-size:clamp(3rem,12vw,4.5rem);line-height:1.04}
  .landing-page.long-title .hero h1{font-size:clamp(2.65rem,10.5vw,4rem)}
  .landing-page.very-long-title .hero h1{font-size:clamp(2.35rem,9vw,3.4rem)}
  .landing-page .lead{max-width:100%;font-size:1rem;line-height:1.48;margin:1.2rem 0 1.45rem}
  .landing-page .feature-list{grid-template-columns:1fr}
  .directory-hero{padding:1rem 1rem 2rem}
  .directory-photo{height:280px;border-radius:8px 75px 75px 8px}
  .directory-photo img{object-position:18% center}
  .directory-intro{display:block}
  .directory-intro h1{margin:-3.5rem 0 1.2rem;font-size:clamp(4.2rem,17vw,6rem)}
  .directory-intro--services h1{margin:1.25rem 0 1rem;font-size:clamp(2.2rem,9.5vw,3.2rem)}
  .directory-intro p{font-size:1rem;margin:0}
  .brand-illustration,.world-illustration{padding:2.5rem 0}
  .mobile-only{display:block;margin:0 1rem 1.25rem;font-size:2.5rem;font-weight:500;line-height:1.05;letter-spacing:-.05em}
  .brand-illustration .illustration-window{display:none}
  .mobile-teams{display:grid;padding:0 1rem;gap:0}
  .mobile-teams p{border-top:1px solid #d8e2ff;padding:1rem 0;margin:0;font-size:1rem;line-height:1.4}
  .mobile-teams p:last-child{border-bottom:1px solid #d8e2ff}
  .mobile-teams strong{display:block;font-size:1.35rem;font-weight:500;margin-bottom:.25rem}
  .illustration-window{height:210px;position:relative;overflow:hidden}
  .brand-illustration .illustration-window:before{content:"";position:absolute;inset:0 0 auto;height:100px;background:#3769eb;z-index:1}
  .brand-illustration img{position:absolute;width:900px;max-width:none;left:50%;top:-90px;transform:translateX(-50%)}
  .world-illustration .illustration-window{height:280px}
  .world-illustration img{position:absolute;width:700px;max-width:none;left:50%;top:-65px;transform:translateX(-50%)}
  .world-illustration{display:none}
  .services-section{padding:2rem 1rem 4rem}
  .services-section h2{font-size:3.8rem;margin-bottom:2rem}
  .service-gallery{grid-template-columns:1fr;gap:1.6rem}
  .service-tile{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:.9rem}
  .service-tile img{aspect-ratio:4/5;border-radius:18px}
  .service-tile-copy strong{font-size:1.15rem}
  .panel{padding:3.5rem 1.25rem}
  .inquiry-panel{border-radius:0 64px 0 0}
  .panel h2{font-size:2.8rem}
  .link-list{grid-template-columns:1fr}
  .link-list li:nth-last-child(2){border-bottom:0}
  .feature-list{grid-template-columns:1fr;gap:1rem}
  .work-photo{min-height:300px}
  .work-copy{padding:3rem 1.25rem}
  footer{align-items:start;flex-direction:column;gap:2rem;padding:3rem 1.25rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-tile img{transition:none}}



/* Editorial B2B Guides & Directory Enhancements: Native Lemonjoy Brand Architecture */
.editorial-hero {
  padding: clamp(2rem, 4vw, 3.5rem) 5vw 2.5rem;
}
.editorial-hero-card {
  max-width: 1200px;
  margin: 0 auto;
  background: linear-gradient(135deg, #1d2d80 0%, #293a96 58%, #162364 100%);
  border-radius: 20px 80px 20px 20px;
  padding: clamp(2rem, 4vw, 3.75rem);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: clamp(2rem, 3.8vw, 3.5rem);
  align-items: center;
  box-shadow: 0 24px 60px rgba(7, 22, 59, 0.28);
}
.editorial-eyebrow {
  display: inline-block;
  background: #ffda53;
  color: #172b72;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.34rem 0.85rem;
  border-radius: 999px;
  margin-bottom: 1rem;
}
.editorial-hero-copy h1 {
  font-size: clamp(2rem, 3.3vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 1.15rem;
  text-wrap: balance;
}
.editorial-hero-copy .lead {
  font-size: clamp(1rem, 1.18vw, 1.14rem);
  line-height: 1.6;
  color: #e2eaff;
  margin: 0 0 1.75rem;
  max-width: 58ch;
}
.editorial-hero-media {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lj-hero-illustration {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 18px 42px rgba(7, 22, 59, 0.32));
}
.editorial-content {
  padding: 0 5vw clamp(4rem, 6vw, 6rem);
}
.editorial-article {
  max-width: 1200px;
  margin: 0 auto;
  background: #ffffff;
  color: #1e293b;
  border-radius: 28px;
  padding: clamp(2rem, 5vw, 4.5rem);
  box-shadow: 0 24px 64px rgba(7, 22, 59, 0.22);
}
.editorial-hero-copy,
.editorial-article,
.editorial-section,
.editorial-cta-copy,
.editorial-list li,
.faq-card {
  min-width: 0;
  overflow-wrap: break-word;
}
.editorial-section {
  display: block;
}
.editorial-section + .editorial-section {
  margin-top: 3.5rem;
  padding-top: 3.5rem;
  border-top: 1px solid #e2e8f0;
}
.editorial-section h2 {
  font-size: clamp(1.65rem, 2.5vw, 2.3rem);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -0.035em;
  color: #172b72;
  margin: 0 0 1.35rem;
  text-wrap: balance;
}
.editorial-section h3 {
  font-size: clamp(1.22rem, 1.6vw, 1.48rem);
  font-weight: 600;
  line-height: 1.3;
  color: #293a96;
  margin: 2.4rem 0 0.9rem;
}
.editorial-section p {
  font-size: 1.06rem;
  line-height: 1.76;
  color: #26334d;
  margin: 0 0 1.25rem;
  max-width: 82ch;
}
.editorial-section a {
  color: #293a96;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: #ffda53;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.editorial-section a:hover {
  color: #3f72ff;
  text-decoration-color: #3f72ff;
}
.editorial-section code {
  background: #fdf3d7;
  color: #172b72;
  padding: 0.16rem 0.45rem;
  border-radius: 6px;
  font-size: 0.92em;
  font-weight: 600;
}

/* Answer Capsule: Warm Cream Lemonjoy Editorial Callout */
.answer-capsule {
  background: #fdf3d7;
  border-radius: 18px 48px 18px 18px;
  padding: 1.6rem 1.9rem;
  margin: 1.4rem 0 2.2rem;
}
.answer-capsule__label {
  display: inline-block;
  background: #1e2a78;
  color: #fdf3d7;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  margin-bottom: 0.75rem;
}
.answer-capsule p {
  margin: 0;
  font-size: 1.06rem;
  line-height: 1.7;
  color: #172b72;
  max-width: none;
}
.answer-capsule strong {
  color: #172b72;
  font-weight: 700;
}

/* Redesigned Editorial Lists: Clean, Borderless Top-Rule Grid like Lemonjoy .feature-list */
.editorial-list {
  list-style: none;
  counter-reset: ed-item;
  padding: 0;
  margin: 1.6rem 0 2.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.5rem;
  row-gap: 1.75rem;
}
.editorial-list li {
  counter-increment: ed-item;
  border-top: 2px solid #172b72;
  padding-top: 1.1rem;
  font-size: 1.01rem;
  line-height: 1.68;
  color: #26334d;
  background: transparent;
}
.editorial-list li::before {
  content: counter(ed-item, decimal-leading-zero) '.';
  display: inline-block;
  background: #ffda53;
  color: #172b72;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.2rem 0.58rem;
  border-radius: 999px;
  margin-bottom: 0.65rem;
}
.editorial-list li:nth-child(4n + 2)::before {
  background: #f49fb6;
  color: #1e2a78;
}
.editorial-list li:nth-child(4n + 3)::before {
  background: #b8d432;
  color: #1e2a78;
}
.editorial-list li:nth-child(4n + 4)::before {
  background: #f58a07;
  color: #fdf3d7;
}
.editorial-list li strong {
  color: #172b72;
  font-weight: 600;
  display: block;
  font-size: 1.08rem;
  line-height: 1.35;
  margin-bottom: 0.3rem;
}

/* Native Graphic Containers (Zero Nested Borders!) */
.lj-native-graphic,
.lj-arch-block {
  margin: 2.5rem 0;
}
.lj-graphic-pill {
  display: inline-block;
  background: #ffda53;
  color: #1e2a78;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.28rem 0.78rem;
  border-radius: 999px;
  margin-bottom: 0.65rem;
}
.lj-graphic-header h3,
.lj-arch-header h4 {
  font-size: clamp(1.32rem, 1.9vw, 1.72rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: #172b72;
  margin: 0 0 0.45rem;
}
.lj-graphic-header p {
  font-size: 0.98rem;
  line-height: 1.55;
  color: #526288;
  margin: 0 0 1.5rem;
  max-width: 72ch;
}

/* Slot 01: Native Horizontal Benchmark Bar Chart */
.lj-native-chart {
  background: #1e2a78;
  color: #fdf3d7;
  border-radius: 24px 64px 24px 24px;
  padding: clamp(1.75rem, 3.5vw, 2.75rem);
}
.lj-native-chart .lj-graphic-header h3 {
  color: #ffffff;
}
.lj-native-chart .lj-graphic-header p {
  color: #c8d7ff;
}
.lj-chart-body {
  display: grid;
  gap: 1.15rem;
  margin: 1.5rem 0;
}
.lj-chart-row {
  display: grid;
  gap: 0.45rem;
}
.lj-chart-meta {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  font-size: 0.98rem;
}
.lj-chart-idx {
  font-size: 0.78rem;
  font-weight: 700;
  color: #ffda53;
}
.lj-chart-label {
  color: #ffffff;
  font-weight: 500;
  flex: 1;
}
.lj-chart-val {
  color: #ffda53;
  font-weight: 700;
  font-size: 1.05rem;
}
.lj-chart-track {
  height: 16px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  overflow: hidden;
}
.lj-chart-fill {
  height: 100%;
  border-radius: 999px;
}
.lj-graphic-footer {
  font-size: 0.84rem;
  color: #b5c7ff;
  margin-top: 1.2rem;
}

/* Slot 02 & Strip Blocks: Lemonjoy Homepage 01-06 Color-Block Strip */
.lj-flow-strip,
.lj-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-radius: 24px;
  overflow: hidden;
  margin-top: 1.25rem;
}
.lj-strip-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lj-strip-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lj-flow-column,
.lj-strip-col {
  padding: 1.85rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 330px;
}
.lj-flow-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.lj-flow-num,
.lj-strip-num {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.lj-flow-window {
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.22rem 0.6rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
}
.lj-flow-motif,
.lj-strip-icon {
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.15rem 0;
}
.lj-step-icon {
  height: 54px;
  width: auto;
  display: block;
}
.lj-flow-column h4,
.lj-strip-col h4 {
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 0.65rem;
  color: inherit;
}
.lj-flow-column p {
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0 0 1.2rem;
  color: inherit;
  opacity: 0.94;
}
.lj-flow-gate {
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid currentColor;
  font-size: 0.82rem;
  line-height: 1.4;
}
.lj-flow-gate span {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.8;
  margin-bottom: 0.15rem;
}
.lj-strip-col ul,
.lj-mindmap-node ul {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
  display: grid;
  gap: 0.45rem;
}
.lj-strip-col li,
.lj-mindmap-node li {
  font-size: 0.9rem;
  line-height: 1.45;
  padding-left: 0.95rem;
  position: relative;
}
.lj-strip-col li::before,
.lj-mindmap-node li::before {
  content: '•';
  position: absolute;
  left: 0;
  font-weight: 700;
}

/* Mind-Map & Phase Architecture Nodes (from ASCII Flowcharts/Timelines) */
.lj-mindmap-connector-svg {
  height: 32px;
  margin: 0.5rem 0 -0.25rem;
}
.lj-mindmap-connector-svg svg {
  width: 100%;
  height: 32px;
  display: block;
}
.lj-mindmap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.1rem;
  margin-top: 0.75rem;
}
.lj-mindmap-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.lj-mindmap-node {
  border-radius: 22px;
  padding: 1.5rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.lj-mindmap-node-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.lj-mindmap-step {
  font-size: 1rem;
  font-weight: 700;
}
.lj-mindmap-pill {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.22rem 0.65rem;
  border-radius: 999px;
}
.lj-mindmap-icon-wrap .lj-step-icon {
  height: 38px;
}
.lj-mindmap-node h4 {
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.28;
  margin: 0.25rem 0;
  color: inherit;
}

/* Slot 03: Native RFP Scorecard Matrix */
.lj-native-scorecard {
  background: #fdf3d7;
  border-radius: 24px;
  padding: clamp(1.75rem, 3.5vw, 2.6rem);
}
.lj- native-scorecard .lj-graphic-pill {
  background: #1e2a78;
  color: #fdf3d7;
}
.lj-score-table {
  display: grid;
  gap: 0.65rem;
  margin-top: 1.25rem;
}
.lj-score-head {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(220px, 1.8fr) 120px 130px;
  gap: 1rem;
  padding: 0.75rem 1.15rem;
  background: #1e2a78;
  color: #fdf3d7;
  border-radius: 12px;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.lj-score-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(220px, 1.8fr) 120px 130px;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.15rem;
  background: #ffffff;
  border-radius: 14px;
  color: #172b72;
}
.lj-score-crit {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
}
.lj-score-num {
  font-size: 0.76rem;
  font-weight: 700;
  color: #3f72ff;
}
.lj-score-ev {
  font-size: 0.94rem;
  color: #26334d;
  line-height: 1.45;
}
.lj-pri-tag {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.24rem 0.6rem;
  border-radius: 999px;
  background: #e2eaff;
  color: #1e2a78;
}
.lj-pri-tag--critical,
.lj-pri-tag--mandatory {
  background: #f49fb6;
  color: #1e2a78;
}
.lj-stat-pill {
  display: inline-block;
  background: #b8d432;
  color: #1e2a78;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
}

/* Slot 04: Clean Split Portfolio Photo Showcase (Zero Nested Frames!) */
.lj-portfolio-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.85fr);
  background: #1e2a78;
  color: #ffffff;
  border-radius: 24px 72px 24px 24px;
  overflow: hidden;
  margin: 2.75rem 0;
}
.lj-portfolio-photo {
  min-height: 380px;
  overflow: hidden;
}
.lj-portfolio-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lj-portfolio-copy {
  padding: clamp(1.85rem, 3.5vw, 3rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lj-portfolio-eyebrow {
  display: inline-block;
  align-self: flex-start;
  background: #ffda53;
  color: #172b72;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.26rem 0.72rem;
  border-radius: 999px;
  margin-bottom: 0.9rem;
}
.lj-portfolio-copy h3 {
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  font-weight: 600;
  line-height: 1.18;
  color: #ffffff;
  margin: 0 0 0.85rem;
}
.lj-portfolio-copy p {
  font-size: 0.98rem;
  line-height: 1.62;
  color: #dbe6ff;
  margin: 0 0 1.25rem;
}
.lj-portfolio-tag {
  display: inline-block;
  align-self: flex-start;
  background: #b8d432;
  color: #1e2a78;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
}

/* Tables */
.editorial-table-wrap {
  overflow-x: auto;
  margin: 1.85rem 0;
  border-radius: 18px;
  background: #f8faff;
}
.editorial-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: #ffffff;
  text-align: left;
  font-size: 0.95rem;
  line-height: 1.55;
}
.editorial-table th {
  background: #172b72;
  color: #ffffff;
  padding: 1rem 1.2rem;
  font-weight: 600;
  border-bottom: 3px solid #ffda53;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.editorial-table td {
  padding: 1rem 1.2rem;
  border-bottom: 1px solid #eaefff;
  color: #1e293b;
  vertical-align: top;
}
.editorial-table tbody tr:nth-child(even) {
  background: #f8faff;
}

/* FAQ Grid */
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.faq-card {
  background: #fdf3d7;
  border-radius: 20px;
  padding: 1.6rem 1.75rem;
}
.faq-card h3 {
  color: #172b72;
  margin: 0 0 0.65rem;
  font-size: 1.12rem;
  line-height: 1.35;
}
.faq-card p {
  color: #26334d;
  line-height: 1.65;
  margin: 0;
  max-width: none;
  font-size: 0.98rem;
}

/* Bottom CTA Banner */
.editorial-cta-banner {
  max-width: 1200px;
  margin: 2.5rem auto 0;
  background: #fdf3d7;
  color: #172b72;
  border-radius: 24px 80px 24px 24px;
  padding: clamp(2rem, 4vw, 3.5rem);
  box-shadow: 0 20px 50px rgba(7, 22, 59, 0.18);
}
.editorial-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: 2rem;
  align-items: center;
}
.editorial-cta-copy h2 {
  font-size: clamp(1.5rem, 2.3vw, 2.1rem);
  color: #172b72;
  margin: 0.25rem 0 0.85rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.editorial-cta-copy p {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.6;
  color: #293a96;
  max-width: 68ch;
}
.editorial-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  align-items: flex-start;
}
.editorial-cta-actions .button {
  background: #293a96;
  color: #ffffff;
  font-weight: 600;
  white-space: nowrap;
}
.editorial-cta-actions .button:hover {
  background: #172b72;
}
.editorial-cta-actions .text-link {
  color: #172b72;
  font-weight: 600;
}
.editorial-guide .inquiry-panel {
  max-width: 1200px;
  margin: 2.5rem auto 0;
  background: #fdf3d7;
  color: #172b72;
  border-radius: 24px 80px 24px 24px;
  padding: clamp(2rem, 4vw, 3.5rem);
  box-shadow: 0 20px 50px rgba(7, 22, 59, 0.18);
  gap: clamp(1.75rem, 3.5vw, 3.5rem);
}
.editorial-guide .inquiry-panel h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.25rem);
  color: #172b72;
  line-height: 1.18;
  letter-spacing: -0.03em;
}
.editorial-guide .inquiry-panel p {
  font-size: 1.02rem;
  line-height: 1.6;
  color: #293a96;
}
.editorial-guide .inquiry-panel input,
.editorial-guide .inquiry-panel select,
.editorial-guide .inquiry-panel textarea {
  border-color: rgba(23, 43, 114, 0.18);
}
.editorial-guide .inquiry-panel a:focus-visible,
.editorial-guide .inquiry-panel button:focus-visible,
.editorial-guide .inquiry-panel input:focus-visible,
.editorial-guide .inquiry-panel select:focus-visible,
.editorial-guide .inquiry-panel textarea:focus-visible {
  outline-color: #293a96;
}

@media (max-width: 960px) {
  .editorial-hero-card,
  .editorial-cta-inner,
  .lj-portfolio-showcase {
    grid-template-columns: 1fr;
  }
  .lj-flow-strip,
  .lj-strip-grid,
  .lj-mindmap-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lj-score-head {
    display: none;
  }
  .lj-score-row {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }
  .editorial-list,
  .faq-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 650px) {
  .editorial-hero {
    padding: 1.25rem 1rem 1.5rem;
  }
  .editorial-hero-card {
    border-radius: 16px 48px 16px 16px;
    padding: 1.75rem 1.35rem;
  }
  .editorial-content {
    padding: 0 1rem 3rem;
  }
  .editorial-article {
    padding: 1.5rem 1.25rem;
    border-radius: 18px;
  }
  .lj-flow-strip,
  .lj-strip-grid,
  .lj-mindmap-grid--4 {
    grid-template-columns: 1fr;
  }
  .editorial-cta-banner,
  .editorial-guide .inquiry-panel {
    border-radius: 16px 48px 16px 16px;
    padding: 1.75rem 1.35rem;
  }
}


/* Global Corporate Footer & Phase 2 Corporate, Capabilities, Work, Contact, Blog & 404 System */
.site-footer {
  background: #162364;
  color: #ffffff;
  padding: clamp(3.5rem, 6vw, 5rem) 5vw 2.25rem;
  display: block;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.site-footer-grid {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 1.15fr) minmax(240px, 1.25fr) minmax(220px, 1fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}
.site-footer-brand img {
  display: block;
  max-width: 190px;
  height: auto;
}
.site-footer-tagline {
  margin: 1rem 0 0;
  font-size: 0.98rem;
  line-height: 1.55;
  color: #dbe6ff;
  max-width: 30ch;
}
.site-footer-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem 1.5rem;
}
.site-footer-nav a,
.site-footer-contact a {
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  color: #f1f5ff;
}
.site-footer-nav a:hover,
.site-footer-contact a:hover,
.site-footer-legal a:hover {
  color: #ffda53;
}
.site-footer-contact {
  display: grid;
  gap: 0.6rem;
  font-size: 0.95rem;
}
.site-footer-address {
  margin: 0 0 0.25rem;
  color: #dbe6ff;
  line-height: 1.5;
}
.site-footer-legal {
  max-width: 1240px;
  margin: 2.75rem auto 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.86rem;
  color: #c8d7ff;
}

/* Corporate Shared Layout & Surfaces */
.corp-wrap {
  max-width: 1240px;
  margin: 0 auto;
  width: 100%;
}
.corp-band {
  padding: clamp(3.75rem, 6.5vw, 6.25rem) 5vw;
}
.corp-band--cream {
  background: #fff7dc;
  color: #1d2d80;
}
.corp-band--blue {
  background: #3769eb;
  color: #ffffff;
}
.corp-band--navy {
  background: #1d2d80;
  color: #ffffff;
}
.corp-band--cream .button.dark {
  background: #293a96;
  color: #ffffff;
}
.corp-band--cream .button.dark:hover {
  background: #162364;
}

/* Corporate Heroes */
.corp-hero {
  padding: clamp(2rem, 3.6vw, 3rem) 5vw clamp(2rem, 3.4vw, 3rem);
  background: #3769eb;
}
.corp-hero-frame {
  max-width: 1240px;
  margin: 0 auto;
  min-height: clamp(470px, 54vw, 620px);
  position: relative;
  overflow: hidden;
  border-radius: 12px 110px 110px 12px;
  display: flex;
  align-items: flex-end;
  background: #162364;
  box-shadow: 0 26px 64px rgba(7, 22, 59, 0.3);
}
.corp-hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg, rgba(12, 23, 71, 0.9) 0%, rgba(12, 23, 71, 0.62) 52%, rgba(12, 23, 71, 0.2) 100%);
}
.corp-hero-content {
  position: relative;
  z-index: 2;
  max-width: 780px;
  padding: clamp(2.25rem, 5vw, 4.5rem);
}
.corp-hero-split-card {
  max-width: 1240px;
  margin: 0 auto;
  background: linear-gradient(135deg, #1d2d80 0%, #293a96 60%, #162364 100%);
  border-radius: 24px 96px 24px 24px;
  padding: clamp(2rem, 4.2vw, 3.75rem);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: clamp(2rem, 3.8vw, 3.5rem);
  align-items: center;
  box-shadow: 0 24px 60px rgba(7, 22, 59, 0.28);
}
.corp-hero-content h1,
.corp-hero-copy h1 {
  font-size: clamp(2.35rem, 4.3vw, 4.1rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 1.25rem;
  text-wrap: balance;
}
.corp-hero-content .lead,
.corp-hero-copy .lead {
  font-size: clamp(1rem, 1.18vw, 1.15rem);
  line-height: 1.6;
  color: #e6eeff;
  margin: 0 0 2rem;
  max-width: 58ch;
}
.corp-hero-photo-arch {
  border-radius: 16px 84px 16px 16px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #162364;
  box-shadow: 0 18px 44px rgba(7, 22, 59, 0.32);
}
.corp-hero-photo-arch img,
.corp-hero-photo-arch video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-back-wrap {
  margin-bottom: 1.1rem;
}
.corp-back-link {
  display: inline-block;
  background: rgba(22, 35, 100, 0.55);
  color: #ffffff;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.24);
}
.corp-back-link:hover {
  background: #ffda53;
  color: #172b72;
  border-color: #ffda53;
}

/* Section Headers & Editorial Split Intros */
.corp-section-head {
  margin-bottom: clamp(2rem, 3.6vw, 3rem);
}
.corp-section-head h2 {
  font-size: clamp(2.15rem, 3.8vw, 3.6rem);
  line-height: 1.06;
  letter-spacing: -0.04em;
  font-weight: 600;
  margin: 0;
  text-wrap: balance;
}
.corp-section-head--split {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.75rem;
  flex-wrap: wrap;
}
.corp-section-lead {
  margin: 0.9rem 0 0;
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.62;
  max-width: 66ch;
  opacity: 0.92;
}
.corp-subhead {
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
  font-weight: 600;
  margin: 0 0 1.5rem;
}
.corp-split-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.88fr) minmax(0, 1.35fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}
.corp-split-intro h2 {
  font-size: clamp(2.1rem, 3.6vw, 3.4rem);
  line-height: 1.06;
  letter-spacing: -0.04em;
  font-weight: 600;
  margin: 0;
  text-wrap: balance;
}
.corp-prose p {
  font-size: clamp(1.02rem, 1.22vw, 1.16rem);
  line-height: 1.68;
  margin: 0;
}
.corp-prose p + p {
  margin-top: 1.15rem;
}
.corp-highlight-lead {
  font-weight: 600;
  font-size: clamp(1.1rem, 1.35vw, 1.28rem);
}

/* Factual Badges & Metadata */
.corp-num-badge,
.corp-year-badge,
.corp-client-pill,
.corp-how-pill {
  display: inline-block;
  background: #ffda53;
  color: #172b72;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.3rem 0.78rem;
  border-radius: 999px;
  letter-spacing: 0.03em;
}
.corp-meta-line {
  margin: 0 0 0.55rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #3769eb;
}
.corp-meta-line--light {
  color: #ffda53;
  margin-bottom: 0.85rem;
}

/* Values Grid (CorporateHome) */
.corp-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.corp-value-card {
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px 56px 22px 22px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.corp-value-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.corp-value-top img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}
.corp-value-card h3 {
  font-size: 1.4rem;
  line-height: 1.18;
  margin: 0.25rem 0 0;
  color: #ffffff;
}
.corp-value-card p {
  margin: 0;
  font-size: 0.97rem;
  line-height: 1.62;
  color: #dbe6ff;
}

/* Capabilities & Video Showcase */
.corp-cap-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem;
}
.corp-cap-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.corp-cap-card {
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: transform 0.18s ease, border-color 0.18s ease;
}
.corp-cap-card:hover {
  transform: translateY(-4px);
  border-color: #ffda53;
}
.corp-cap-media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #162364;
}
.corp-cap-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-cap-body {
  padding: 1.5rem 1.6rem 1.7rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.corp-cap-body h3 {
  font-size: 1.32rem;
  line-height: 1.2;
  margin: 0 0 0.65rem;
  color: #ffffff;
}
.corp-cap-body p {
  margin: 0 0 1.2rem;
  font-size: 0.95rem;
  line-height: 1.58;
  color: #dbe6ff;
  flex: 1;
}
.corp-card-cta {
  display: inline-block;
  align-self: flex-start;
  font-size: 0.88rem;
  font-weight: 600;
  border-bottom: 2px solid #ffda53;
  padding-bottom: 0.16rem;
}
.corp-video-showcase {
  margin-top: 3.5rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.corp-video-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}
.corp-video-tile {
  text-decoration: none;
  background: #293a96;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  display: flex;
  flex-direction: column;
}
.corp-video-tile:hover {
  border-color: #ffda53;
}
.corp-video-frame {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #101b4f;
}
.corp-video-frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-video-tile span {
  padding: 0.95rem 1.1rem;
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.3;
  color: #ffffff;
}

/* Case Studies Cards & Portfolio */
.corp-cases-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.65rem;
}
.corp-case-card {
  background: #ffffff;
  color: #1d2d80;
  border-radius: 22px 56px 22px 22px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 40px rgba(23, 43, 114, 0.1);
  transition: transform 0.18s ease;
}
.corp-case-card:hover {
  transform: translateY(-4px);
}
.corp-case-card--dark {
  background: #293a96;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: none;
}
.corp-case-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #162364;
}
.corp-case-media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-case-media .corp-client-pill {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
}
.corp-logo-pill {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  background: rgba(22, 35, 100, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 14px;
  padding: 0.45rem 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.corp-logo-pill img {
  display: block;
  max-width: 96px;
  max-height: 32px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.corp-case-body {
  padding: 1.55rem 1.65rem 1.75rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.corp-case-body h3 {
  font-size: 1.32rem;
  line-height: 1.22;
  margin: 0 0 0.65rem;
}
.corp-case-body p {
  margin: 0 0 1.25rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #2f3e6e;
  flex: 1;
}
.corp-case-card--dark .corp-case-body p {
  color: #dbe6ff;
}

/* Feature Splits & Artwork Frames */
.corp-feature-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(2rem, 4.5vw, 4rem);
  align-items: center;
}
.corp-feature-split--reverse .corp-feature-copy {
  order: 2;
}
.corp-feature-split--reverse .corp-art-frame {
  order: 1;
}
.corp-feature-copy h2 {
  font-size: clamp(2.15rem, 3.6vw, 3.4rem);
  line-height: 1.06;
  letter-spacing: -0.04em;
  margin: 0 0 1.2rem;
  text-wrap: balance;
}
.corp-feature-copy p {
  font-size: 1.04rem;
  line-height: 1.65;
  margin: 0 0 1.15rem;
}
.corp-feature-copy .button {
  margin-top: 0.65rem;
}
.corp-art-frame {
  border-radius: 24px 64px 24px 24px;
  overflow: hidden;
  background: #162364;
  box-shadow: 0 20px 48px rgba(7, 22, 59, 0.2);
}
.corp-art-frame--cream {
  background: #fff7dc;
}
.corp-art-frame--wide {
  margin-top: 2.5rem;
}
.corp-art-frame img {
  display: block;
  width: 100%;
  height: auto;
}

/* Regional SEO Links Band */
.corp-regional-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.corp-regional-links a {
  display: block;
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 1.05rem 1.25rem;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.96rem;
  line-height: 1.35;
}
.corp-regional-links a:hover {
  border-color: #ffda53;
  color: #ffda53;
}

/* About: Timeline, Team & Client Brand Logos */
.corp-timeline-grid {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem;
}
.corp-timeline-card {
  background: #ffffff;
  color: #1d2d80;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(23, 43, 114, 0.09);
  display: flex;
  flex-direction: column;
}
.corp-timeline-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #162364;
}
.corp-timeline-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-timeline-media .corp-year-badge {
  position: absolute;
  left: 1rem;
  top: 1rem;
}
.corp-timeline-body {
  padding: 1.4rem 1.5rem 1.6rem;
}
.corp-timeline-body h3 {
  font-size: 1.26rem;
  line-height: 1.22;
  margin: 0 0 0.6rem;
}
.corp-timeline-body p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #2f3e6e;
}

.corp-team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
}
.corp-team-card {
  background: #fff7dc;
  color: #1d2d80;
  border-radius: 22px 48px 22px 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 38px rgba(7, 22, 59, 0.2);
}
.corp-team-photo {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #162364;
}
.corp-team-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.corp-team-body {
  padding: 1.35rem 1.4rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.corp-team-body h3 {
  font-size: 1.25rem;
  margin: 0 0 0.25rem;
}
.corp-team-role {
  margin: 0 0 0.75rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: #3769eb;
}
.corp-team-bio {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.56;
  color: #263569;
  flex: 1;
}
.corp-team-details,
.corp-highlight-details {
  border-top: 1px solid rgba(29, 45, 128, 0.16);
  padding-top: 0.85rem;
}
.corp-highlight-details {
  border-top-color: rgba(255, 255, 255, 0.18);
  margin-top: auto;
}
.corp-team-details summary,
.corp-highlight-details summary {
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 700;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.corp-team-details summary::-webkit-details-marker,
.corp-highlight-details summary::-webkit-details-marker {
  display: none;
}
.corp-team-details summary::after,
.corp-highlight-details summary::after {
  content: '+';
  font-size: 1.15rem;
  line-height: 1;
}
.corp-team-details[open] summary::after,
.corp-highlight-details[open] summary::after {
  content: '−';
}
.corp-team-expanded {
  margin-top: 0.85rem;
  font-size: 0.88rem;
  line-height: 1.55;
}
.corp-team-expanded p {
  margin: 0.65rem 0 0;
}
.corp-skill-pills {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.corp-skill-pills li {
  background: #293a96;
  color: #ffffff;
  font-size: 0.74rem;
  font-weight: 600;
  padding: 0.24rem 0.6rem;
  border-radius: 999px;
}

.corp-logos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1.1rem;
}
.corp-logo-tile {
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  min-height: 96px;
  padding: 1.1rem 1.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.corp-logo-tile img {
  display: block;
  max-width: 128px;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Contact Channels */
.corp-channels-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.35rem;
}
.corp-channel-card {
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 22px 48px 22px 22px;
  padding: 1.75rem 1.6rem;
  text-decoration: none;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
a.corp-channel-card:hover {
  border-color: #ffda53;
}
.corp-channel-card h3 {
  font-size: 1.25rem;
  margin: 0;
}
.corp-channel-value {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.5;
  color: #dbe6ff;
  flex: 1;
  overflow-wrap: anywhere;
}
.corp-channel-note {
  font-size: 0.82rem;
  color: #c8d7ff;
  line-height: 1.45;
}

/* What We Do Stages & Capability Pillars */
.corp-stages-grid,
.corp-pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.corp-stage-card {
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 22px 52px 22px 22px;
  padding: 1.9rem;
}
.corp-stage-card h3 {
  font-size: 1.45rem;
  margin: 1rem 0 0.65rem;
}
.corp-stage-card p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #e2eaff;
}
.corp-pillar-card {
  background: #ffffff;
  color: #1d2d80;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(23, 43, 114, 0.09);
  display: flex;
  flex-direction: column;
}
.corp-pillar-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #162364;
}
.corp-pillar-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-pillar-media .corp-num-badge {
  position: absolute;
  left: 1rem;
  top: 1rem;
}
.corp-pillar-body {
  padding: 1.45rem 1.55rem 1.65rem;
}
.corp-pillar-body h3 {
  font-size: 1.28rem;
  line-height: 1.22;
  margin: 0 0 0.6rem;
}
.corp-pillar-body p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #2f3e6e;
}

/* Our Work Additional Brand Highlights */
.corp-highlights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.55rem;
}
.corp-highlight-card {
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.corp-highlight-cover {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #101b4f;
}
.corp-highlight-cover > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-highlight-body {
  padding: 1.45rem 1.55rem 1.6rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.corp-highlight-body .corp-meta-line {
  color: #ffda53;
}
.corp-highlight-body h3 {
  font-size: 1.32rem;
  margin: 0 0 0.55rem;
  color: #ffffff;
}
.corp-highlight-body > p {
  margin: 0 0 1.15rem;
  font-size: 0.94rem;
  line-height: 1.58;
  color: #dbe6ff;
}
.corp-highlight-gallery {
  margin-top: 1rem;
  display: grid;
  gap: 0.85rem;
}
.corp-highlight-video video {
  display: block;
  width: 100%;
  border-radius: 12px;
  background: #0b1338;
}
.corp-highlight-thumbs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}
.corp-highlight-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 10px;
}

/* Case Study Detail Page */
.corp-case-badge-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 19, 56, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 18px;
  padding: 0.55rem 1rem;
  margin-bottom: 1.1rem;
}
.corp-case-badge-wrap img {
  display: block;
  max-width: 132px;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.corp-goal-banner {
  display: grid;
  grid-template-columns: minmax(200px, 0.55fr) minmax(0, 1.45fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}
.corp-goal-banner h2 {
  font-size: clamp(2rem, 3.3vw, 3rem);
  margin: 0;
}
.corp-goal-banner p {
  margin: 0;
  font-size: clamp(1.08rem, 1.35vw, 1.28rem);
  line-height: 1.65;
}
.corp-aftermovie-wrap {
  border-radius: 24px;
  overflow: hidden;
  background: #0b1338;
  box-shadow: 0 24px 56px rgba(7, 22, 59, 0.35);
}
.corp-aftermovie {
  display: block;
  width: 100%;
  max-height: 640px;
}
.corp-challenges-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.corp-challenge-card {
  background: #293a96;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 22px 56px 22px 22px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.corp-challenge-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: #162364;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem;
}
.corp-challenge-icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.corp-challenge-card h3 {
  font-size: 1.38rem;
  margin: 0;
}
.corp-challenge-problem {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #dbe6ff;
}
.corp-challenge-solution {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.corp-challenge-solution p {
  margin: 0.65rem 0 0;
  font-size: 0.96rem;
  line-height: 1.6;
  color: #ffffff;
}
.corp-bullet-pills {
  list-style: none;
  padding: 0;
  margin: 0 0 2.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.corp-bullet-pills li {
  background: #293a96;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 500;
  padding: 0.52rem 1.05rem;
  border-radius: 999px;
}
.corp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.corp-gallery-card {
  margin: 0;
  background: #ffffff;
  color: #1d2d80;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(23, 43, 114, 0.09);
  display: flex;
  flex-direction: column;
}
.corp-gallery-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.corp-gallery-card figcaption {
  padding: 1.15rem 1.3rem 1.3rem;
  display: grid;
  gap: 0.35rem;
}
.corp-gallery-card figcaption strong {
  font-size: 1rem;
  line-height: 1.3;
}
.corp-gallery-card figcaption span {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #2f3e6e;
}

/* Blog Hub & Blog Post Editorial */
.corp-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.65rem;
}
.corp-blog-card {
  background: #ffffff;
  color: #1d2d80;
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  box-shadow: 0 14px 36px rgba(23, 43, 114, 0.09);
  transition: transform 0.18s ease;
}
.corp-blog-card:hover {
  transform: translateY(-4px);
}
.corp-blog-card--featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  border-radius: 24px 72px 24px 24px;
}
.corp-blog-media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #162364;
}
.corp-blog-card--featured .corp-blog-media {
  aspect-ratio: auto;
  min-height: 340px;
}
.corp-blog-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.corp-blog-body {
  padding: 1.55rem 1.65rem 1.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
.corp-blog-card--featured .corp-blog-body {
  padding: clamp(1.85rem, 3.8vw, 3rem);
}
.corp-blog-body h3 {
  font-size: 1.3rem;
  line-height: 1.24;
  margin: 0 0 0.7rem;
}
.corp-blog-card--featured .corp-blog-body h3 {
  font-size: clamp(1.65rem, 2.6vw, 2.35rem);
  line-height: 1.14;
}
.corp-blog-body p:not(.corp-meta-line) {
  margin: 0 0 1.25rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #2f3e6e;
  flex: 1;
}
.corp-blog-card--featured .corp-blog-body p:not(.corp-meta-line) {
  flex: 0;
  font-size: 1.03rem;
}

.corp-blog-prose h2 {
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  color: #172b72;
  margin: 2.4rem 0 1rem;
  line-height: 1.18;
}
.corp-blog-prose h2:first-child {
  margin-top: 0;
}
.corp-blog-prose h3 {
  font-size: clamp(1.22rem, 1.6vw, 1.48rem);
  color: #293a96;
  margin: 1.9rem 0 0.75rem;
  line-height: 1.28;
}
.corp-blog-prose p,
.corp-blog-prose li {
  font-size: 1.05rem;
  line-height: 1.76;
  color: #26334d;
}
.corp-blog-prose p {
  margin: 0 0 1.25rem;
}
.corp-blog-prose ul,
.corp-blog-prose ol {
  margin: 0 0 1.4rem;
  padding-left: 1.4rem;
}
.corp-blog-prose li + li {
  margin-top: 0.45rem;
}
.corp-blog-prose a {
  color: #293a96;
  font-weight: 600;
  text-underline-offset: 4px;
}
.corp-blog-prose img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  margin: 1.85rem 0;
}
.corp-related-posts {
  max-width: 1200px;
  margin: 3.5rem auto 0;
}

/* 404 Page */
.corp-404 {
  min-height: calc(100vh - 280px);
  display: flex;
  align-items: center;
}
.corp-404-card {
  background: #ffffff;
  border-radius: 24px 80px 24px 24px;
  padding: clamp(2.25rem, 5vw, 4rem);
  box-shadow: 0 20px 52px rgba(23, 43, 114, 0.12);
}
.corp-404-card h1 {
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  margin: 0 0 1rem;
  line-height: 1.05;
}
.corp-404-actions {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
  .corp-team-grid,
  .corp-video-grid,
  .corp-channels-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .corp-values-grid,
  .corp-cap-grid,
  .corp-cases-grid,
  .corp-timeline-grid,
  .corp-stages-grid,
  .corp-pillars-grid,
  .corp-highlights-grid,
  .corp-gallery-grid,
  .corp-blog-grid,
  .corp-regional-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .site-footer-grid,
  .corp-hero-split-card,
  .corp-split-intro,
  .corp-feature-split,
  .corp-goal-banner,
  .corp-blog-card--featured {
    grid-template-columns: 1fr;
  }
  .corp-feature-split--reverse .corp-feature-copy,
  .corp-feature-split--reverse .corp-art-frame {
    order: initial;
  }
  .corp-challenges-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .site-footer {
    padding: 3rem 1.25rem 2rem;
  }
  .corp-hero {
    padding: 1.25rem 1rem 1.5rem;
  }
  .corp-hero-frame {
    min-height: 440px;
    border-radius: 12px 64px 64px 12px;
  }
  .corp-hero-content {
    padding: 1.85rem 1.4rem;
  }
  .corp-hero-split-card {
    border-radius: 18px 52px 18px 18px;
    padding: 1.75rem 1.35rem;
  }
  .corp-hero-photo-arch {
    border-radius: 14px 48px 14px 14px;
  }
  .corp-band {
    padding: 3rem 1.25rem;
  }
  .corp-values-grid,
  .corp-cap-grid,
  .corp-cap-grid--compact,
  .corp-video-grid,
  .corp-cases-grid,
  .corp-timeline-grid,
  .corp-team-grid,
  .corp-channels-grid,
  .corp-stages-grid,
  .corp-pillars-grid,
  .corp-highlights-grid,
  .corp-gallery-grid,
  .corp-blog-grid,
  .corp-regional-links {
    grid-template-columns: 1fr;
  }
  .corp-logos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .corp-404-card {
    border-radius: 18px 48px 18px 18px;
    padding: 2rem 1.4rem;
  }
}
