/* === about page styles === */
/* ——— NAV ——— */
.btn--dark{background:var(--gray-900);color:#fff}.btn--dark:hover{background:var(--black);transform:translateY(-1px)}
.btn--outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.btn--outline:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}
/* ——— SECTION: FULL IMAGE ——— */
.img-section{position:relative;overflow:hidden}
.img-section__bg{position:absolute;inset:0}
.img-section__bg img{width:100%;height:100%;object-fit:cover;will-change:transform}
.img-section__overlay{position:absolute;inset:0;z-index:2}
.img-section__content{position:relative;z-index:10}
/* ——— 1. HERO (Full-screen like solutions page) ——— */
.hero{height:100vh;min-height:680px;display:flex;align-items:center;justify-content:center;text-align:center}
.hero .img-section__overlay{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.55) 100%)}
.hero .img-section__bg img{animation:slowZoom 14s ease-out forwards}
@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero__content{width:100%;max-width:840px;padding:0 40px}
.hero__breadcrumb{margin-bottom:28px;opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease) .3s forwards}
.hero__breadcrumb-list{display:flex;align-items:center;justify-content:center;gap:0;list-style:none;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.hero__breadcrumb-list a{color:rgba(255,255,255,.5);transition:color .3s}.hero__breadcrumb-list a:hover{color:#fff}
.hero__breadcrumb-list li{color:rgba(255,255,255,.5)}.hero__breadcrumb-list li::before{content:'/';margin:0 12px;color:rgba(255,255,255,.2)}
.hero__breadcrumb-list li:first-child::before{display:none}
.hero__eyebrow{font-size:13px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:20px;opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease) .4s forwards}
.hero h1{font-size:clamp(34px,5vw,64px);font-weight:800;line-height:1.06;color:#fff;letter-spacing:-1.5px;margin-bottom:22px;opacity:0;transform:translateY(30px);animation:fadeUp 1s var(--ease) .55s forwards}
.hero__desc{font-size:clamp(15px,1.5vw,17px);font-weight:300;line-height:1.9;color:rgba(255,255,255,.6);max-width:560px;margin:0 auto 40px;opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease) .75s forwards}
.hero__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease) .95s forwards}
.hero__scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp 1s var(--ease) 1.3s forwards}
.hero__scroll-text{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4)}
.hero__scroll-line{width:1px;height:32px;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.3)}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
/* ——— STATS BAR (inspired by sol-nav) ——— */
.stats-bar{position:relative;background:var(--white);border-bottom:1px solid var(--gray-100)}
.stats-bar__inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stats-bar__item{position:relative;padding:44px 28px;text-align:center;transition:background .4s var(--ease)}
.stats-bar__item::after{content:'';position:absolute;top:24%;right:0;width:1px;height:52%;background:var(--gray-100)}.stats-bar__item:last-child::after{display:none}
.stats-bar__item:hover{background:var(--gray-50)}
.stats-bar__icon{width:48px;height:48px;border-radius:12px;background:var(--accent-light);display:grid;place-items:center;margin:0 auto 14px;transition:all .45s var(--ease)}
.stats-bar__item:hover .stats-bar__icon{background:var(--accent);box-shadow:0 6px 20px rgba(0,102,255,.18)}
.stats-bar__icon svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8;transition:stroke .35s}
.stats-bar__item:hover .stats-bar__icon svg{stroke:#fff}
.stats-bar__value{font-size:28px;font-weight:800;color:var(--gray-900);margin-bottom:4px;letter-spacing:-1px;transition:color .35s}
.stats-bar__value span{color:var(--accent)}
.stats-bar__item:hover .stats-bar__value{color:var(--accent)}
.stats-bar__label{font-size:12px;font-weight:500;color:var(--gray-400);letter-spacing:.5px}
/* ——— 2. COMPANY INTRO ——— */
.intro{padding:120px var(--content-pad) 140px;background:var(--white)}
.intro__inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.intro__left{position:sticky;top:100px}
.intro__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.intro__heading{font-size:clamp(28px,3.5vw,44px);font-weight:800;line-height:1.12;color:var(--gray-900);letter-spacing:-.8px;margin-bottom:28px}
.intro__heading em{font-style:normal;color:var(--accent)}
.intro__lead{font-size:17px;font-weight:400;color:var(--gray-600);line-height:2;margin-bottom:32px}
.intro__text{font-size:15px;font-weight:300;color:var(--gray-500);line-height:2;margin-bottom:24px}
.intro__cta{font-size:14px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:8px;transition:gap .3s var(--ease);margin-top:8px}.intro__cta:hover{gap:14px}
.intro__cta svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.intro__right{position:relative}
.intro__img-main{border-radius:16px;overflow:hidden;position:relative}
.intro__img-main img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s var(--ease)}
.intro__img-main:hover img{transform:scale(1.03)}
.intro__img-float{position:absolute;bottom:-40px;right:-24px;width:55%;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15);border:4px solid var(--white);z-index:3}
.intro__img-float img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s var(--ease)}
.intro__img-float:hover img{transform:scale(1.03)}
.intro__img-caption{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent);z-index:2}
.intro__img-caption span{font-size:12px;font-weight:500;color:rgba(255,255,255,.7);letter-spacing:.5px}
.intro__img-badge{position:absolute;top:20px;left:20px;z-index:4;padding:8px 16px;border-radius:8px;background:var(--accent);font-size:11px;font-weight:600;color:#fff;letter-spacing:1px;text-transform:uppercase}
/* ——— STRENGTHS GRID (new section) ——— */
.strengths{padding:0 var(--content-pad) 120px;background:var(--white)}
.strengths__inner{max-width:var(--content-max);margin:0 auto}
.strengths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.strengths__card{position:relative;padding:36px 30px;border-radius:16px;background:var(--gray-50);border:1px solid var(--gray-100);transition:all .5s var(--ease)}
.strengths__card:hover{border-color:rgba(0,102,255,.15);box-shadow:0 12px 40px rgba(0,102,255,.08);transform:translateY(-4px)}
.strengths__card-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-light);display:grid;place-items:center;margin-bottom:20px;transition:all .4s var(--ease)}
.strengths__card:hover .strengths__card-icon{background:var(--accent);box-shadow:0 6px 20px rgba(0,102,255,.2)}
.strengths__card-icon svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8;transition:stroke .35s}
.strengths__card:hover .strengths__card-icon svg{stroke:#fff}
.strengths__card-title{font-size:16px;font-weight:700;color:var(--gray-900);margin-bottom:10px;transition:color .3s}
.strengths__card:hover .strengths__card-title{color:var(--accent)}
.strengths__card-text{font-size:13px;font-weight:300;color:var(--gray-500);line-height:1.8}
/* ——— 3. VISION / MISSION ——— */
.vm-section{min-height:70vh;display:flex;align-items:center}
.vm-section .img-section__overlay{background:linear-gradient(135deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.6) 40%,rgba(0,0,0,.25) 100%)}
.vm__content{width:100%;max-width:calc(var(--content-max) + var(--content-pad)*2);margin:0 auto;padding:80px var(--content-pad)}
.vm__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:960px}
.vm__item-tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.vm__item-heading{font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.28;color:#fff;letter-spacing:-.2px;margin-bottom:18px}
.vm__item-text{font-size:15px;font-weight:300;line-height:1.9;color:rgba(255,255,255,.6)}
.vm__divider{width:36px;height:2px;background:var(--accent);margin-bottom:24px;border-radius:2px}
/* ——— 6. TIMELINE ——— */
.timeline{padding:120px var(--content-pad);background:var(--white)}
.timeline__inner{max-width:var(--content-max);margin:0 auto}
.timeline__header{text-align:center;margin-bottom:80px}
.timeline__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.timeline__title{font-size:clamp(26px,3.2vw,42px);font-weight:700;color:var(--gray-900);letter-spacing:-.3px;margin-bottom:14px}
.timeline__subtitle{font-size:15px;font-weight:300;color:var(--gray-500);max-width:480px;margin:0 auto;line-height:1.8}
.tl-grid{display:flex;flex-direction:column;gap:0;position:relative}
.tl-grid::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--accent),var(--gray-200) 20%,var(--gray-200) 80%,transparent);transform:translateX(-50%)}
.tl-row{display:grid;grid-template-columns:1fr 1fr;gap:0;position:relative}
.tl-row::before{content:'';position:absolute;left:50%;top:36px;width:14px;height:14px;border-radius:50%;background:var(--white);border:2.5px solid var(--gray-300);transform:translateX(-50%);z-index:2;transition:all .4s var(--ease)}
.tl-row:first-child::before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 6px rgba(0,102,255,.1)}
.tl-row:hover::before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 6px rgba(0,102,255,.1);transform:translateX(-50%) scale(1.2)}
.tl-cell{padding:20px 56px 48px}
.tl-cell--left{text-align:right}.tl-cell--right{text-align:left}
.tl-cell--empty{padding:0;min-height:0}
.tl-year{font-size:14px;font-weight:700;color:var(--accent);letter-spacing:1px;margin-bottom:8px}
.tl-heading{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:8px;line-height:1.3}
.tl-desc{font-size:14px;font-weight:300;color:var(--gray-500);line-height:1.8}
.tl-img{border-radius:12px;overflow:hidden;margin-top:16px;display:inline-block}
.tl-img img{width:100%;max-width:340px;aspect-ratio:16/10;object-fit:cover;transition:transform .6s var(--ease)}
.tl-img:hover img{transform:scale(1.03)}
/* ——— 7. VALUES (full-bleed) ——— */
.values-img{min-height:80vh;display:flex;align-items:center}
.values-img .img-section__overlay{background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.65) 100%)}
.values__content{width:100%;max-width:calc(var(--content-max) + var(--content-pad)*2);margin:0 auto;padding:100px var(--content-pad)}
.values__header{text-align:center;margin-bottom:72px}
.values__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.values__title{font-size:clamp(26px,3.2vw,42px);font-weight:700;color:#fff;letter-spacing:-.3px}
.values__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.values__card{padding:36px 28px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(20px);transition:all .5s var(--ease)}
.values__card:hover{background:rgba(255,255,255,.1);border-color:rgba(0,102,255,.3);transform:translateY(-6px)}
.values__card-icon{width:48px;height:48px;border-radius:12px;background:rgba(0,102,255,.15);display:grid;place-items:center;margin-bottom:22px;transition:all .4s}
.values__card:hover .values__card-icon{background:var(--accent);box-shadow:0 6px 24px rgba(0,102,255,.3)}
.values__card-icon svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8;transition:stroke .3s}
.values__card:hover .values__card-icon svg{stroke:#fff}
.values__card-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:10px}
.values__card-text{font-size:13px;font-weight:300;color:rgba(255,255,255,.55);line-height:1.8}
/* ——— 8. TEAM ——— */
.team{padding:120px var(--content-pad);background:var(--white)}
.team__inner{max-width:var(--content-max);margin:0 auto}
.team__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}
.team__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.team__title{font-size:clamp(26px,3.2vw,42px);font-weight:700;color:var(--gray-900);letter-spacing:-.3px}
.team__header-right{font-size:15px;font-weight:300;color:var(--gray-500);max-width:380px;text-align:right;line-height:1.7}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team__card{position:relative;border-radius:14px;overflow:hidden;cursor:pointer}
.team__card-img{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--gray-100)}
.team__card-img img{width:100%;height:100%;object-fit:cover;transition:all .7s var(--ease);filter:grayscale(30%)}
.team__card:hover .team__card-img img{transform:scale(1.05);filter:grayscale(0%)}
.team__card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65) 0%,transparent 50%);z-index:2;opacity:0;transition:opacity .5s}
.team__card:hover .team__card-overlay{opacity:1}
.team__card-info{position:absolute;bottom:0;left:0;right:0;padding:28px;z-index:3;transform:translateY(10px);opacity:0;transition:all .5s var(--ease)}
.team__card:hover .team__card-info{transform:translateY(0);opacity:1}
.team__card-name{font-size:17px;font-weight:700;color:#fff;margin-bottom:2px}
.team__card-role{font-size:12px;font-weight:400;color:rgba(255,255,255,.6);letter-spacing:.3px}
.team__card-static{padding:20px 4px 0;text-align:center}
.team__card-static-name{font-size:15px;font-weight:700;color:var(--gray-900);margin-bottom:2px}
.team__card-static-role{font-size:12px;font-weight:400;color:var(--gray-400)}
@media(hover:hover){.team__card-static{display:none}}
/* ——— 9. GLOBAL ——— */
.global{padding:120px var(--content-pad);background:var(--dark);position:relative;overflow:hidden}
.global::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 40%,rgba(0,102,255,.06),transparent)}
.global__inner{max-width:var(--content-max);margin:0 auto;position:relative;z-index:2}
.global__header{text-align:center;margin-bottom:64px}
.global__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.global__heading{font-size:clamp(28px,3.5vw,44px);font-weight:800;line-height:1.12;color:#fff;letter-spacing:-.5px;margin-bottom:16px}
.global__text{font-size:15px;font-weight:300;line-height:1.9;color:rgba(255,255,255,.5);max-width:560px;margin:0 auto}
.global__body{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:center}
.global__cards{display:flex;flex-direction:column;gap:16px}
.global__card{padding:28px 28px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:all .4s var(--ease);display:flex;align-items:center;gap:24px}
.global__card:hover{background:rgba(255,255,255,.07);border-color:rgba(0,102,255,.2);transform:translateX(6px)}
.global__card-icon{width:56px;height:56px;border-radius:14px;background:rgba(0,102,255,.1);display:grid;place-items:center;flex-shrink:0;transition:all .4s}
.global__card:hover .global__card-icon{background:rgba(0,102,255,.18)}
.global__card-icon svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.8}
.global__card-info{flex:1}
.global__card-val{font-size:clamp(24px,2.5vw,32px);font-weight:800;color:#fff;letter-spacing:-1px;line-height:1.2;margin-bottom:2px}
.global__card-val span{color:var(--accent)}
.global__card-label{font-size:13px;font-weight:400;color:rgba(255,255,255,.5);letter-spacing:.2px}
.global__map-wrapper{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.global__map-wrapper img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity .5s}
.global__map-wrapper:hover img{opacity:.85}
.global__pulse{position:absolute;width:12px;height:12px;transform:translate(-50%,-50%)}
.global__pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;box-shadow:0 0 8px rgba(0,102,255,.5)}
.global__pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;border:1.5px solid var(--accent);animation:pulseRing 2.8s ease-out infinite;opacity:0}
.global__pulse-ring--delay{animation-delay:1.4s}
.global__pulse-label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);font-size:10px;font-weight:600;color:#fff;letter-spacing:.5px;white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.global__pulse:hover .global__pulse-label{opacity:1}
.global__pulse--hq .global__pulse-dot{width:12px;height:12px;box-shadow:0 0 12px rgba(0,102,255,.6),0 0 24px rgba(0,102,255,.2)}
.global__pulse--hq .global__pulse-ring{width:12px;height:12px}
.global__pulse--hq .global__pulse-label{opacity:1;font-size:11px}
@keyframes pulseRing{0%{width:8px;height:8px;opacity:.7}100%{width:36px;height:36px;opacity:0}}
/* ——— 10. CSR ——— */
.csr{min-height:80vh;display:flex;align-items:center}
.csr .img-section__overlay{background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.1) 100%)}
.csr__content{width:100%;max-width:calc(var(--content-max) + var(--content-pad)*2);margin:0 auto;padding:100px var(--content-pad)}
.csr__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.csr__heading{font-size:clamp(28px,3.5vw,44px);font-weight:800;line-height:1.12;color:#fff;letter-spacing:-.5px;max-width:600px;margin-bottom:24px}
.csr__text{font-size:15px;font-weight:300;line-height:2;color:rgba(255,255,255,.6);max-width:520px;margin-bottom:40px}
.csr__highlights{display:flex;gap:36px;flex-wrap:wrap}
.csr__highlight{display:flex;align-items:center;gap:12px}
.csr__highlight-icon{width:40px;height:40px;border-radius:10px;background:rgba(0,102,255,.15);display:grid;place-items:center;flex-shrink:0}
.csr__highlight-icon svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2}
.csr__highlight-text{font-size:14px;font-weight:500;color:rgba(255,255,255,.7);line-height:1.4}
/* ——— FACTORY GALLERY ——— */
.facility{padding:120px var(--content-pad);background:var(--white)}
.facility__inner{max-width:var(--content-max);margin:0 auto}
.facility__header{margin-bottom:56px}
.facility__header-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.facility__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.facility__title{font-size:clamp(26px,3.2vw,42px);font-weight:700;color:var(--gray-900);letter-spacing:-.3px}
.facility__subtitle{font-size:15px;font-weight:300;color:var(--gray-500);max-width:400px;line-height:1.8;text-align:right}
.facility__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto;gap:16px}
.facility__item{position:relative;border-radius:14px;overflow:hidden;cursor:pointer}
.facility__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease),filter .5s}
.facility__item:hover img{transform:scale(1.05)}
.facility__item-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 50%);z-index:2;opacity:0;transition:opacity .4s}
.facility__item:hover .facility__item-overlay{opacity:1}
.facility__item-info{position:absolute;bottom:0;left:0;right:0;padding:24px;z-index:3;transform:translateY(8px);opacity:0;transition:all .4s var(--ease)}
.facility__item:hover .facility__item-info{transform:translateY(0);opacity:1}
.facility__item-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:3px}
.facility__item-desc{font-size:12px;font-weight:300;color:rgba(255,255,255,.7)}
.facility__item-zoom{position:absolute;top:16px;right:16px;z-index:3;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);display:grid;place-items:center;opacity:0;transition:all .3s;border:1px solid rgba(255,255,255,.2)}
.facility__item:hover .facility__item-zoom{opacity:1}
.facility__item-zoom svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.facility__item:nth-child(1){grid-column:span 7;aspect-ratio:16/10}
.facility__item:nth-child(2){grid-column:span 5;aspect-ratio:16/10}
.facility__item:nth-child(3){grid-column:span 4;aspect-ratio:4/3}
.facility__item:nth-child(4){grid-column:span 4;aspect-ratio:4/3}
.facility__item:nth-child(5){grid-column:span 4;aspect-ratio:4/3}
/* ——— CERT GALLERY ——— */
.cert-gallery{padding:120px var(--content-pad);background:var(--gray-50);border-top:1px solid var(--gray-100)}
.cert-gallery__inner{max-width:var(--content-max);margin:0 auto}
.cert-gallery__header{text-align:center;margin-bottom:56px}
.cert-gallery__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.cert-gallery__title{font-size:clamp(26px,3.2vw,42px);font-weight:700;color:var(--gray-900);letter-spacing:-.3px;margin-bottom:14px}
.cert-gallery__subtitle{font-size:15px;font-weight:300;color:var(--gray-500);max-width:520px;margin:0 auto;line-height:1.8}
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cert-card{border-radius:14px;overflow:hidden;cursor:pointer;background:var(--white);border:1px solid var(--gray-200);transition:all .4s var(--ease);position:relative}
.cert-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,102,255,.1)}
.cert-card__img{position:relative;overflow:hidden;background:var(--gray-100)}
.cert-card__img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.cert-card:hover .cert-card__img img{transform:scale(1.04)}
.cert-card__zoom{position:absolute;top:12px;right:12px;z-index:3;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.3);backdrop-filter:blur(8px);display:grid;place-items:center;opacity:0;transition:all .3s;border:1px solid rgba(255,255,255,.15)}
.cert-card:hover .cert-card__zoom{opacity:1}
.cert-card__zoom svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2}
.cert-card__body{padding:16px 18px}
.cert-card__name{font-size:14px;font-weight:700;color:var(--gray-900);margin-bottom:4px}
.cert-card__desc{font-size:12px;font-weight:300;color:var(--gray-500);line-height:1.6}
/* ——— FAQ ——— */
.faq{padding:120px var(--content-pad);background:var(--white)}
.faq__inner{max-width:880px;margin:0 auto}
.faq__header{text-align:center;margin-bottom:64px}
.faq__tag{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.faq__title{font-size:clamp(26px,3vw,38px);font-weight:700;color:var(--gray-900);letter-spacing:-.3px}
.faq__item{border-bottom:1px solid var(--gray-100);overflow:hidden}
.faq__question{width:100%;padding:28px 0;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;color:var(--gray-900);text-align:left;transition:color .3s;cursor:pointer;background:none;border:none;font-family:var(--font)}
.faq__question:hover{color:var(--accent)}
.faq__question svg{width:20px;height:20px;stroke:var(--gray-400);fill:none;stroke-width:2;flex-shrink:0;transition:transform .4s var(--ease),stroke .3s}
.faq__item--open .faq__question svg{transform:rotate(45deg);stroke:var(--accent)}
.faq__item--open .faq__question{color:var(--accent)}
.faq__answer{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq__item--open .faq__answer{max-height:500px}
.faq__answer-inner{padding:0 0 28px;font-size:15px;font-weight:300;color:var(--gray-500);line-height:1.9}
/* ——— CTA ——— */
.cta{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center}
.cta .img-section__overlay{background:rgba(0,0,0,.55)}
.cta__content{position:relative;z-index:10;max-width:640px;padding:0 40px}
.cta__title{font-size:clamp(28px,4vw,48px);font-weight:800;color:#fff;margin-bottom:18px;line-height:1.15;letter-spacing:-.8px}
.cta__desc{font-size:16px;font-weight:300;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:40px}
.cta__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* ——— FOOTER ——— */
/* ——— LIGHTBOX ——— */
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .35s var(--ease)}
.lightbox--open{display:flex;opacity:1}
.lightbox__inner{position:relative;max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}
.lightbox__img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 80px rgba(0,0,0,.4);animation:lbFadeIn .3s var(--ease)}
.lightbox__caption{position:absolute;bottom:-48px;left:50%;transform:translateX(-50%);font-size:14px;font-weight:400;color:rgba(255,255,255,.7);white-space:nowrap;letter-spacing:.3px}
.lightbox__close{position:absolute;top:20px;right:24px;z-index:10;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;cursor:pointer;transition:all .3s}
.lightbox__close:hover{background:rgba(255,255,255,.2)}
.lightbox__close svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;cursor:pointer;transition:all .3s;z-index:10}
.lightbox__nav:hover{background:rgba(255,255,255,.2)}
.lightbox__nav svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}
.lightbox__nav--prev{left:24px}
.lightbox__nav--next{right:24px}
.lightbox__counter{position:absolute;top:28px;left:28px;font-size:13px;font-weight:500;color:rgba(255,255,255,.5);letter-spacing:.5px}
@keyframes lbFadeIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
/* ——— UTILS ——— */
/* ——— RESPONSIVE ——— */
@media(max-width:1024px){
.hero{min-height:600px}
.stats-bar__inner{grid-template-columns:repeat(2,1fr)}
.stats-bar__item:nth-child(2)::after{display:none}
.intro__inner{grid-template-columns:1fr;gap:48px}
.intro__left{position:static}
.intro__img-float{right:0;bottom:-24px;width:50%}
.strengths__grid{grid-template-columns:1fr 1fr;gap:16px}
.vm__grid{grid-template-columns:1fr;gap:48px;max-width:560px}
.facility__header-row{flex-direction:column;align-items:flex-start;gap:12px}
.facility__subtitle{text-align:left;max-width:100%}
.facility__grid{grid-template-columns:repeat(6,1fr)}
.facility__item:nth-child(1){grid-column:span 6;aspect-ratio:16/9}
.facility__item:nth-child(2){grid-column:span 3}
.facility__item:nth-child(3){grid-column:span 3}
.facility__item:nth-child(4){grid-column:span 3}
.facility__item:nth-child(5){grid-column:span 3}
.cert-grid{grid-template-columns:repeat(3,1fr)}
.values__grid{grid-template-columns:repeat(2,1fr)}
.team__grid{grid-template-columns:repeat(2,1fr)}
.team__header{flex-direction:column;align-items:flex-start;gap:12px}
.team__header-right{text-align:left;max-width:100%}
.global__body{grid-template-columns:1fr;gap:40px}
.global__cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tl-grid::before{left:20px;transform:translateX(-50%)}.tl-row{grid-template-columns:1fr}.tl-row::before{left:20px;transform:translateX(-50%)}
.tl-cell--left{text-align:left}.tl-cell--empty{display:none}.tl-cell{padding:16px 0 48px 44px}
}
@media(max-width:768px){
.hero{min-height:560px}.hero h1{font-size:clamp(28px,7vw,42px)}
.stats-bar__item{padding:32px 20px}
.stats-bar__value{font-size:22px}
.strengths__grid{grid-template-columns:1fr}
}
@media(max-width:640px){
.hero{min-height:500px}
.hero__actions{flex-direction:column;align-items:center}
.hero__scroll{display:none}
.stats-bar__inner{grid-template-columns:1fr 1fr}
.values__grid{grid-template-columns:1fr}
.team__grid{grid-template-columns:1fr 1fr}
.global__cards{grid-template-columns:1fr}
.csr__highlights{flex-direction:column;gap:20px}
.facility__grid{grid-template-columns:1fr 1fr}
.facility__item:nth-child(1){grid-column:span 2}
.facility__item:nth-child(2){grid-column:span 1}
.facility__item:nth-child(3){grid-column:span 1}
.facility__item:nth-child(4){grid-column:span 1}
.facility__item:nth-child(5){grid-column:span 1}
.cert-grid{grid-template-columns:repeat(2,1fr);gap:14px}
}
/* ——— PAGE HERO (Elementor widget) ——— */
.page-hero{height:80vh;min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center}
.page-hero .img-section__overlay{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.55) 100%)}
.page-hero .img-section__bg img{animation:slowZoom 14s ease-out forwards}
.page-hero__content{width:100%;max-width:840px;padding:0 40px}
.page-hero__breadcrumb{margin-bottom:28px;opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease) .3s forwards}
.page-hero__breadcrumb ol{display:flex;align-items:center;justify-content:center;gap:0;list-style:none;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.page-hero__breadcrumb a{color:rgba(255,255,255,.5);transition:color .3s}.page-hero__breadcrumb a:hover{color:#fff}
.page-hero__breadcrumb li{color:rgba(255,255,255,.5)}.page-hero__breadcrumb li::before{content:'/';margin:0 12px;color:rgba(255,255,255,.2)}.page-hero__breadcrumb li:first-child::before{display:none}
.page-hero__eyebrow{font-size:13px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:20px;opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease) .4s forwards}
.page-hero__title{font-size:clamp(34px,5vw,64px);font-weight:800;line-height:1.06;color:#fff;letter-spacing:-1.5px;margin-bottom:22px;opacity:0;transform:translateY(30px);animation:fadeUp 1s var(--ease) .55s forwards}
.page-hero__desc{font-size:clamp(15px,1.5vw,17px);font-weight:300;line-height:1.9;color:rgba(255,255,255,.6);max-width:560px;margin:0 auto 40px;opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease) .75s forwards}
.page-hero__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease) .95s forwards}
.page-hero__scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp 1s var(--ease) 1.3s forwards}
.page-hero__scroll span{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4)}
.page-hero__scroll-line{width:1px;height:32px;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);animation:scrollPulse 2s ease-in-out infinite}
@media(max-width:640px){.page-hero{min-height:400px;height:65vh}.page-hero__actions{flex-direction:column;align-items:center}.page-hero__scroll{display:none}}
