/* A page-specific editorial layout for the company story. */
.page-about{--about-navy:#142f47;--about-light:#edf5fa;--about-muted:#566775}
.page-about main>section{padding:88px 0;background:#fff}
.page-about .about-kicker{display:flex;align-items:center;gap:12px;margin:0 0 22px;color:var(--blue-dark);font-size:12px;font-weight:700;letter-spacing:.17em;line-height:1.6}
.page-about .about-kicker:before{content:"";width:28px;height:2px;background:currentColor}
.page-about main>.about-hero{padding:24px 0 0;background:linear-gradient(110deg,#fff 52%,#f1f7fb 52%)}
.about-breadcrumb ol{display:flex;gap:10px;list-style:none;margin:0;padding:0;color:#73808c;font-size:13px}
.about-breadcrumb li{margin:0}
.about-breadcrumb li+li:before{content:"/";margin-right:10px;color:#b4c0c9}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:center;gap:72px;padding:56px 0 64px}
.about-hero-copy h1{font-size:clamp(36px,3.55vw,51px);line-height:1.45;letter-spacing:-.035em;margin:0 0 26px;color:var(--about-navy)}
.about-hero-copy h1 span{color:var(--blue-dark)}
.about-lead{max-width:540px;margin-bottom:30px;font-size:17px;line-height:1.95;color:var(--about-muted)}
.about-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.about-hero-actions .button{padding:13px 23px;border-radius:4px}
.about-jump{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:600}
.about-jump svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.about-origin{position:relative;isolation:isolate;overflow:hidden;min-width:0;padding:34px 36px 32px;color:#fff;background:var(--about-navy);border-radius:4px 52px 4px 4px}
.about-origin:before,.about-origin:after{content:"";position:absolute;z-index:-1;width:290px;height:290px;border:1px solid #ffffff15;border-radius:50%;right:-125px;bottom:-130px}
.about-origin:after{width:400px;height:400px;right:-180px;bottom:-185px}
.about-origin-brand{display:flex;align-items:center;gap:16px;font-size:18px;font-weight:600;line-height:1.5}
.about-origin-brand img{display:block;width:48px;height:50px;object-fit:contain;border-radius:2px}
.about-origin-brand small{display:block;color:#bacbd9;font-size:9px;letter-spacing:.13em;font-weight:400;margin-top:4px}
.about-origin-year{margin:38px 0 18px;line-height:1}
.about-origin-year span{display:block;margin-bottom:10px;font-size:11px;letter-spacing:.25em;color:#9bb2c4}
.about-origin-year strong{display:block;font-size:clamp(88px,8.2vw,118px);font-weight:500;letter-spacing:-.045em;color:#fff;font-variant-numeric:lining-nums}
.about-origin-caption{margin:0;padding-top:22px;border-top:1px solid #ffffff30;font-size:14px;line-height:1.85;color:#c9d7e2}
.about-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:28px 0 34px;border-top:1px solid #dce5ec}
.about-focus li{display:flex;align-items:flex-start;gap:16px;min-width:0;padding:0 30px;margin:0;border-left:1px solid #dce5ec}
.about-focus li:first-child{padding-left:0;border-left:0}
.about-focus li:last-child{padding-right:0}
.about-focus .icon{width:28px;height:28px;color:var(--blue);margin-top:4px}
.about-focus h2{font-size:20px;line-height:1.5;margin:0 0 7px}
.about-focus p{font-size:14px;line-height:1.7;margin:0;color:var(--about-muted)}
.about-history-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:100px;align-items:start}
.about-history-intro{position:sticky;top:145px}
.about-history-intro h2{font-size:36px;line-height:1.5;letter-spacing:-.025em;color:var(--about-navy);margin:0 0 24px}
.about-history-intro>p:not(.about-kicker){line-height:1.9;margin-bottom:30px}
.about-history-note{padding:24px 0;border-block:1px solid var(--line)}
.about-history-note strong{display:block;font-size:15px;color:var(--about-navy);margin-bottom:12px}
.about-history-note a{font-size:14px;display:inline-flex;align-items:center;gap:12px}
.about-history-note .icon{width:16px;height:16px}
.about-timeline{list-style:none;margin:0;padding:0}
.about-timeline>li{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:26px;padding:0 0 34px 28px;margin:0;border-left:1px solid #d7e5ee}
.about-timeline>li:before{content:"";position:absolute;left:-5px;top:12px;width:9px;height:9px;border:2px solid var(--blue);border-radius:50%;background:#fff}
.about-timeline>li:last-child{padding-bottom:0;border-left-color:transparent}
.about-timeline time{font-size:26px;font-weight:600;line-height:1.4;color:var(--blue-dark);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.about-timeline time span{display:block;font-size:10px;letter-spacing:.1em;color:#8594a1;margin-top:4px}
.about-timeline h3{font-size:18px;line-height:1.6;margin:2px 0 10px;font-weight:650}
.about-timeline p,.about-timeline ul{margin:0;font-size:15px;line-height:1.9}
.about-timeline ul{list-style:none;padding:0}
.about-timeline ul li{position:relative;padding-left:14px;margin:8px 0 0}
.about-timeline ul li:before{content:"";position:absolute;width:3px;height:3px;left:0;top:13px;background:#7e9aae;border-radius:50%}
.about-timeline .timeline-highlight{padding:20px 24px;background:var(--about-light);border-radius:4px}
.about-timeline .timeline-highlight h3{color:var(--blue-dark)}
.page-about main>.about-clients{background:var(--soft);padding-block:72px}
.about-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}
.about-section-head .about-kicker{margin-bottom:14px}
.about-section-head h2{font-size:32px;color:var(--about-navy);margin:0;line-height:1.5}
.about-section-head>p{max-width:330px;font-size:15px;margin:0;line-height:1.8}
.about-client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid var(--line);border-radius:5px}
.about-client{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:30px 20px;color:var(--ink);text-align:center;border-left:1px solid var(--line);transition:background .2s}
.about-client:first-child{border-left:0}
.about-client img{display:block;width:124px;height:124px;object-fit:contain;margin-bottom:20px}
.about-client h3{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 5px}
.about-client h3 svg{position:absolute;top:16px;right:16px;width:13px;height:13px;fill:none;stroke:var(--blue-dark);stroke-width:1.5}
.about-client p{margin:0;font-size:13px;color:#71808c}
.about-client:hover{background:#f7fbfe;color:var(--blue-dark);text-decoration:none}
.page-about main>.about-contact{padding:66px 0;background:var(--about-navy)}
.about-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.about-contact .about-kicker{color:#89c9f2;margin-bottom:16px}
.about-contact h2{color:white;font-size:32px;line-height:1.5;margin:0 0 14px}
.about-contact p:not(.about-kicker){margin:0;color:#c3d2de;font-size:15px}
.about-contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex-shrink:0}
.about-contact-actions .button{background:#fff;color:var(--blue-dark);border-color:#fff;padding:14px 28px}
.about-contact-actions .button:hover{background:#e6f5ff;border-color:#e6f5ff}
.about-contact-actions .about-phone{color:#d5e2ec;font-size:14px;display:inline-flex;align-items:center;gap:8px}
.about-revealing{animation:about-reveal .65s cubic-bezier(.2,.65,.3,1) both}
@keyframes about-reveal{from{opacity:.15;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){
  .about-hero-grid{gap:40px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .about-origin{padding:30px}
  .about-origin-year strong{font-size:95px}
  .about-history-grid{gap:50px;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}
  .about-history-intro h2{font-size:30px}
  .about-focus li{padding-inline:20px;gap:12px}
}
@media(max-width:767px){
  .page-about main>section{padding-block:52px}
  .page-about main>.about-hero{padding-top:18px;background:linear-gradient(180deg,#fff 40%,#f1f7fb)}
  .about-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding:36px 0}
  .about-hero-copy h1{font-size:clamp(28px,7.5vw,42px);line-height:1.5;margin-bottom:20px}
  .about-lead{font-size:15px;margin-bottom:24px}
  .page-about .about-kicker{font-size:10px;letter-spacing:.13em;margin-bottom:18px}
  .about-hero-actions{gap:18px}
  .about-hero-actions .button{font-size:14px;padding:11px 18px}
  .about-jump{font-size:14px}
  .about-origin{padding:26px 28px;border-top-right-radius:38px}
  .about-origin-brand img{width:40px;height:42px}
  .about-origin-brand{font-size:17px}
  .about-origin-year{margin:28px 0 20px}
  .about-origin-year strong{font-size:96px}
  .about-origin-caption{font-size:13px;padding-top:18px}
  .about-focus{grid-template-columns:minmax(0,1fr);padding:0 0 12px}
  .about-focus li,.about-focus li:first-child,.about-focus li:last-child{border-left:0;border-bottom:1px solid #dce5ec;padding:24px 0;gap:18px}
  .about-focus li:last-child{border-bottom:0}
  .about-focus h2{font-size:19px;margin-bottom:4px}
  .about-history-grid{grid-template-columns:minmax(0,1fr);gap:38px}
  .about-history-intro{position:static}
  .about-history-intro h2{font-size:30px;margin-bottom:18px}
  .about-history-intro>p:not(.about-kicker){margin-bottom:24px}
  .about-history-note{padding:18px 0}
  .about-timeline{margin-left:4px}
  .about-timeline>li{grid-template-columns:56px minmax(0,1fr);gap:16px;padding-left:20px;padding-bottom:30px}
  .about-timeline time{font-size:23px}
  .about-timeline h3{font-size:17px;margin-top:0}
  .about-timeline p,.about-timeline ul{font-size:14px}
  .about-timeline .timeline-highlight{padding:16px}
  .page-about main>.about-clients{padding-block:48px}
  .about-section-head{display:block;margin-bottom:28px}
  .about-section-head h2{font-size:28px;margin-bottom:14px}
  .about-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-client{padding:24px 12px}
  .about-client:nth-child(3){border-left:0}
  .about-client:nth-child(n+3){border-top:1px solid var(--line)}
  .about-client img{width:92px;height:92px;margin-bottom:16px}
  .about-client h3{font-size:16px;gap:6px}
  .about-client p{font-size:12px}
  .page-about main>.about-contact{padding:46px 0}
  .about-contact-inner{display:block}
  .about-contact h2{font-size:27px}
  .about-contact-actions{margin-top:28px;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.about-revealing{animation:none}.about-client{transition:none}}
@media print{.about-history-intro{position:static}.about-origin{-webkit-print-color-adjust:exact;print-color-adjust:exact}.about-timeline>li{break-inside:avoid}}
