/* About v17. Scoped to this page; desktop supplies every piece of content.
   Mobile supplies spacing and composition. Shared v16 CSS/JS are unchanged. */
body.about-page { background:#1d1d1f; min-width:0; }
.about-page .section-shell,.about-page .footer-inner { width:min(1440px,calc(100% - 60px)); margin-inline:auto; }
.about-page main,.about-page main > section,.about-page .section-shell,.about-page .about-gallery { min-width:0; max-width:100%; }
.about-page .desktop-nav a { display:flex; align-items:center; min-height:44px; font:500 1.0625rem/1.375 "Onest",Arial,sans-serif; }
.about-page .language-button { width:44px; height:44px; display:grid; place-items:center; }
/* Keep the v16 flex header in normal flow. Relative offsets on its actions
   shift the globe away from the logo/nav centre; the shell supplies the inset. */
@media (min-width:1101px) {
  .about-page .site-header { display:flex; align-items:center; padding-inline:max(30px,calc((100% - 1440px)/2)); }
  .about-page .brand { position:static; inset:auto; flex:0 0 131px; margin:0 auto 0 0; }
  .about-page .desktop-nav { position:static; inset:auto; display:flex; align-items:center; transform:none; gap:45px; flex:0 0 auto; min-height:44px; height:auto; }
  .about-page .desktop-actions { position:relative; inset:auto; display:flex; align-items:center; gap:0; flex:0 0 44px; height:44px; margin:0 0 0 77px; }
  .about-page .language-button { justify-items:end; }
}
.about-page .about-intro { min-height:871px; padding:150px 0; background:#000; }
.about-page .about-intro-grid { display:grid; grid-template-columns:minmax(0,593px) minmax(0,714px); gap:133px; }
.about-page .about-copy { min-width:0; }
.about-page .about-copy h1 { margin:0 0 52px; font:600 3.4375rem/1.275 "Onest",Arial,sans-serif; letter-spacing:0; }
.about-page .about-text { min-height:0; height:auto; max-width:589px; font:500 1.1875rem/1.275 "Onest",Arial,sans-serif; color:#c4c4c4; }
.about-page .about-text p { margin:0 0 24px; }
.about-page .about-text p:last-child { margin-bottom:0; }
.about-page .about-gallery { padding-top:14px; margin:0; }
.about-page .about-track { display:flex; gap:12px; width:100%; max-width:100%; padding:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:0; scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; }
.about-page .about-track::-webkit-scrollbar,.about-page .history-track::-webkit-scrollbar { display:none; }
.about-page .about-track > .about-slide { flex:0 0 100%; max-width:none; min-width:0; aspect-ratio:714/476; border-radius:20px; scroll-snap-align:start; scroll-snap-stop:normal; }
.about-page .fig-photo { position:relative; overflow:hidden; background:#111; }
.about-page .fig-photo > img { display:block; position:absolute; max-width:none; margin:0; padding:0; }
.about-page .photo-fill > img { inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.about-page .photo-fit > img { inset:0; width:100%; height:100%; object-fit:contain; object-position:center; }
.about-page .photo-crop > img { left:var(--ix); top:var(--iy); width:var(--iw); height:var(--ih); object-fit:fill; }
/* CSS approximation of source gallery-03 paintFilter; original PNG untouched. */
.about-page .figma-filter-approx > img { filter:brightness(1.275) saturate(1.17) contrast(1.08); }
.about-page .about-controls { display:flex; height:33px; margin:48px auto 0; gap:16px; max-width:calc(100% - 32px); }
.about-page .about-controls.unified-carousel-controls > button.carousel-nav-button { display:grid; width:44px; height:44px; min-width:44px; min-height:44px; }
.about-page .about-controls.unified-carousel-controls .carousel-page-dot { height:44px; min-height:44px; }
.about-page .about-controls.unified-carousel-controls.is-static { display:none; }
.about-page .about-stats { padding:140px 0 150px; }
.about-page .about-stats h2,.about-page .about-history h2,.about-page .about-partners h2,.about-page .contact-section h2 { margin:0; max-width:none; font:600 3.4375rem/1.275 "Onest",Arial,sans-serif; letter-spacing:0; }
.about-page .stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:100px; gap:20px 14px; }
.about-page .stat-card { min-width:0; min-height:200px; height:auto; margin:0; padding:30px; border:0; border-radius:20px; background:#fff; color:#000; }
.about-page .stat-card h3 { margin:0; font:600 2.5rem/1.275 "Onest",Arial,sans-serif; color:#000; white-space:normal; overflow-wrap:normal; }
.about-page .stat-card p { margin:30px 0 0; max-width:var(--label-width,405px); height:auto; font:500 1.1875rem/1.275 "Onest",Arial,sans-serif; color:#515151; }
.about-page .about-history { padding:0 0 140px; width:100%; }
.about-page .history-track { --history-gutter:max(30px,calc((100% - 1198px)/2)); display:flex; align-items:stretch; gap:12px; width:100%; max-width:100%; margin:100px 0 0; padding:0 var(--history-gutter); overflow-x:auto; overflow-y:hidden; scroll-padding-inline:var(--history-gutter); scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; }
.about-page .history-slide { display:grid; grid-template-columns:minmax(0,580fr) minmax(0,569fr); flex:0 0 100%; width:100%; min-width:0; min-height:592px; padding:25px 24px 25px 25px; margin:0; background:#000; border:0; border-radius:50px; scroll-snap-align:start; scroll-snap-stop:normal; }
.about-page .history-copy { min-width:0; padding:55px 133px 55px 55px; }
.about-page .history-year { margin:0 0 60px; color:#ac866a; font:600 3.4375rem/1.275 "Onest",Arial,sans-serif; }
.about-page .history-copy h3 { margin:0; min-height:0; height:auto; font:600 1.625rem/1.275 "Onest",Arial,sans-serif; color:#fff; overflow-wrap:normal; }
.about-page .history-description { margin:30px 0 0; min-height:0; height:auto; font:500 1.1875rem/1.275 "Onest",Arial,sans-serif; color:#c4c4c4; }
.about-page .history-photo { align-self:start; width:100%; height:auto; aspect-ratio:569/542; border-radius:20px; }
.about-page .missing-original { display:grid; place-items:center; background:#111; padding:24px; }
.about-page .missing-original > span { max-width:260px; color:#888; font:400 .9375rem/1.5 "Onest",Arial,sans-serif; text-align:center; }
.about-page .history-track.is-dragging,.about-page .about-track.is-dragging { cursor:grabbing; user-select:none; scroll-snap-type:none; }
.about-page .history-controls { margin-top:48px; }
.about-page .about-partners { min-height:732px; padding:140px 0; background:#000; }
.about-page .partner-grid { display:grid; grid-template-columns:repeat(3,minmax(0,351px)); justify-content:space-between; align-items:center; gap:60px 30px; margin-top:100px; }
.about-page .partner-item { display:flex; min-width:0; width:100%; height:auto; margin:0; align-items:center; justify-content:center; }
.about-page .partner-lockup { gap:12px; justify-content:flex-start; min-height:109px; }
.about-page .partner-lockup > img { display:block; flex:0 0 109px; width:109px; height:109px; max-width:109px; object-fit:contain; }
.about-page .partner-item figcaption { flex:1 1 230px; min-width:0; margin:0; font:600 1.0625rem/1.2353 "Inter","Onest",Arial,sans-serif; color:#fff; }
.about-page .partner-mark { min-height:113px; }
.about-page .partner-mark > img { display:block; width:198px; max-width:100%; height:auto; object-fit:contain; }
.about-page .partner-05 > img { width:351px; }
.about-page .contact-section { padding:150px 0; }
.about-page .contact-card { margin-top:60px; min-height:205px; height:auto; border:1px solid #6a6a6d; border-radius:25px; background:transparent; padding:35px 40px 40px; grid-template-columns:525fr 323fr 432fr; gap:40px; }
.about-page .contact-card > div:first-child { padding-top:5px; }
.about-page .contact-card h3 { margin:0; font:600 1.625rem/1.275 "Onest",Arial,sans-serif; }
.about-page .contact-card p { font:600 1.1875rem/1.5264 "Onest",Arial,sans-serif; color:#b4b4bb; margin:34px 0 0; }
.about-page .contact-method p { margin-top:30px; }
.about-page .contact-method strong { font-weight:600; }
.about-page .contact-method:last-child { padding-top:5px; }
.about-page .contact-method:last-child p { margin-top:25px; }
.about-page .contact-card,.about-page .contact-card p,.about-page .contact-method,.about-page .footer-contact { overflow-wrap:anywhere; }
.about-page section[id],.about-page main[id] { scroll-margin-top:24px; }
.about-page .history-track:focus-visible,.about-page .about-track:focus-visible { outline:2px solid #1977f3; outline-offset:-2px; }

@media (min-width:1101px) and (max-width:1599px) {
  .about-page .section-shell,.about-page .footer-inner { width:min(1200px,calc(100% - 60px)); }
  .about-page .site-header { padding-inline:max(30px,calc((100% - 1200px)/2)); }
  .about-page .desktop-actions { margin-left:56px; }
  .about-page .desktop-nav { gap:35px; }
}
@media (min-width:901px) and (max-width:1599px) {
  .about-page .about-intro { min-height:0; padding:100px 0; }
  .about-page .about-intro-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:70px; }
  .about-page .about-copy h1,.about-page .about-stats h2,.about-page .about-history h2,.about-page .about-partners h2,.about-page .contact-section h2 { font-size:2.8125rem; }
  .about-page .about-copy h1 { margin-bottom:45px; }
  .about-page .about-text,.about-page .stat-card p { font-size:1.0625rem; line-height:1.353; }
  .about-page .about-gallery { padding-top:0; }
  .about-page .about-stats { padding:100px 0 110px; }
  .about-page .stats-grid { margin-top:70px; }
  .about-page .stat-card h3 { font-size:2.25rem; }
  .about-page .history-copy { padding:44px clamp(50px,6.4vw,95px) 44px 44px; }
  .about-page .history-copy h3 { font-size:1.5rem; }
  .about-page .history-description { font-size:1.0625rem; line-height:1.353; }
  .about-page .history-year { font-size:2.8125rem; margin-bottom:45px; }
  .about-page .history-slide { min-height:0; }
  .about-page .history-track { margin-top:70px; }
  .about-page .about-history { padding-bottom:100px; }
  .about-page .about-partners { min-height:0; padding:100px 0; }
  .about-page .partner-grid { margin-top:80px; gap:50px 30px; }
  .about-page .partner-lockup > img { flex-basis:86px; width:86px; height:86px; }
  .about-page .partner-item figcaption { font-size:.9375rem; }
  .about-page .contact-section { padding:100px 0; }
  .about-page .contact-card { gap:30px; }
  .about-page .contact-card p { font-size:1.0625rem; line-height:1.471; }
}
@media (max-width:1100px) {
  .about-page .desktop-nav,.about-page .desktop-actions { display:none; }
  .about-page .about-intro-grid { grid-template-columns:1fr; gap:50px; }
  .about-page .about-text { max-width:100%; }
  .about-page .about-gallery { width:min(714px,100%); max-width:100%; margin-inline:auto; }
  .about-page .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-page .history-copy { padding:35px 40px 35px 35px; }
  .about-page .history-copy h3 { font-size:1.375rem; }
  .about-page .history-description { font-size:1rem; line-height:1.375; }
  .about-page .history-year { margin-bottom:35px; }
  .about-page .partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px 24px; }
  .about-page .partner-lockup { gap:10px; }
  .about-page .partner-lockup > img { flex-basis:68px; width:68px; height:68px; }
  .about-page .partner-item figcaption { font-size:.8125rem; }
  .about-page .contact-card { grid-template-columns:1.25fr 1fr 1fr; gap:24px; padding-inline:28px; }
  .about-page .contact-card h3 { font-size:1.4375rem; }
  .about-page .contact-card p { font-size:1rem; line-height:1.4375; }
}
@media (max-width:900px) {
  .about-page .history-track { --history-gutter:max(30px,calc((100% - 560px)/2)); gap:10px; margin-top:45px; align-items:stretch; }
  .about-page .history-slide { display:flex; flex-direction:column; padding:0; min-height:0; border-radius:20px; }
  .about-page .history-copy { padding:25px 25px 60px; }
  .about-page .history-year { margin:0 0 40px; font-size:1.5625rem; line-height:1.28; }
  .about-page .history-copy h3 { font-size:1.25rem; line-height:1.3; overflow-wrap:anywhere; }
  .about-page .history-description { margin-top:25px; font-size:.9375rem; line-height:1.275; overflow-wrap:anywhere; }
  .about-page .history-photo { width:calc(100% - 26px); aspect-ratio:274/261; margin:0 13px 13px; flex:none; }
  .about-page .history-controls { margin-top:20px; }
}
@media (max-width:768px) {
  .about-page .site-header { height:100px; }
  .about-page .brand { left:30px; }
  .about-page .about-intro { min-height:0; padding:80px 0 70px; }
  .about-page .about-intro-grid { display:block; }
  .about-page .about-copy h1 { font-size:2.0625rem; line-height:1.275; font-weight:500; margin-bottom:30px; }
  .about-page .about-text { min-height:0; height:auto; max-width:100%; font-size:.9375rem; line-height:1.275; font-weight:400; }
  .about-page .about-text p { margin-bottom:19px; }
  .about-page .about-text p:last-child { margin-bottom:0; }
  .about-page .about-gallery { width:100%; padding:0; margin:50px 0 0; }
  .about-page .about-track { gap:10px; }
  .about-page .about-controls { height:44px; margin-top:20px; }
  .about-page .about-stats { padding:70px 0; }
  .about-page .about-stats h2,.about-page .about-history h2,.about-page .about-partners h2,.about-page .contact-section h2 { font-size:1.625rem; line-height:1.275; font-weight:600; }
  .about-page .stats-grid { grid-template-columns:1fr; gap:10px; margin-top:45px; }
  .about-page .stat-card { padding:25px; min-height:140px; border-radius:20px; }
  .about-page .stat-card h3 { font-size:1.5625rem; line-height:1.28; }
  .about-page .stat-card p { font-size:.9375rem; line-height:1.275; margin-top:15px; }
  .about-page .about-history { padding:40px 0 70px; }
  .about-page .about-partners { min-height:0; padding:70px 0 100px; }
  .about-page .partner-grid { grid-template-columns:1fr; margin-top:60px; gap:40px; align-items:start; }
  .about-page .partner-item { width:100%; justify-content:flex-start; min-height:0; }
  .about-page .partner-lockup { gap:7.4px; }
  .about-page .partner-lockup > img { flex:0 0 63.44px; width:63.44px; height:63.44px; max-width:63.44px; }
  .about-page .partner-item figcaption { flex:0 1 150px; font-size:.625rem; line-height:1.25; }
  .about-page .partner-04 > img { width:116px; }
  .about-page .partner-05 > img { width:204px; }
  .about-page .partner-06 > img { width:115px; }
  .about-page .contact-section { padding:70px 0; }
  .about-page .contact-card { display:flex; align-items:stretch; flex-direction:column; min-height:484px; padding:30px; margin-top:35px; gap:43px; }
  .about-page .contact-card > div:first-child { padding:0; }
  .about-page .contact-card h3 { font-size:1.25rem; line-height:1.275; }
  .about-page .contact-card p { font-size:.9375rem; line-height:1.5334; margin-top:26px; }
  .about-page .contact-method p,.about-page .contact-method:last-child p { margin-top:15px; }
  .about-page .contact-method:last-child { padding:0; }
}
@media (prefers-reduced-motion:reduce) {
  .about-page .history-track,.about-page .about-track { scroll-behavior:auto; }
}

/* v18: equal mobile history cards, photos share the lower edge. */
@media(max-width:900px) {
 .about-page .history-slide .history-photo { margin-top:auto; }
}
/* v18: phone indicators have no arrow controls or reserved arrow space. */
@media(max-width:768px) {
 .about-page .about-controls.unified-carousel-controls > button.carousel-nav-button { display:none; }
}
