:root{--kcon-navy:#0a2a5e;--kcon-blue:#0a3d8f;--kcon-gold:#c8972a;--kcon-bright:#f0c040}
html{scroll-padding-top:88px}html[lang=th] body{font-family:'Sarabun','Open Sans',sans-serif}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--kcon-gold);outline-offset:3px}
.nav-logo{--header-logo-width:218px;position:relative;flex:0 0 260px;min-height:64px;gap:0}
.official-header-logo{width:var(--header-logo-width);height:auto;object-fit:contain;display:block}
.header-company-name{position:absolute;left:calc(var(--header-logo-width) * 731 / 2340);top:calc(var(--header-logo-width) * 435 / 2340 + 4px);color:#777;font-size:11px;line-height:1.3;white-space:nowrap}
.hero-picture{position:absolute;inset:0;display:block;overflow:hidden}
.hero-picture .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;animation:kcon-fleet-reveal 1.25s ease-out both}
.hero-badge{animation:kcon-rise .6s ease-out .06s both}.hero-title{animation:kcon-rise .7s ease-out .12s both}.hero-sub{animation:kcon-rise .7s ease-out .2s both}.hero-btns{animation:kcon-rise .7s ease-out .28s both}
.btn-primary:hover,.btn-outline:hover{transform:translateY(-2px)}
.why-main-img{height:auto;aspect-ratio:1448/1086;object-fit:contain;padding:0;transform:scale(.985);transition:transform .65s ease}
.why-image-block.visible .why-main-img{transform:scale(1)}
.partner-logos{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:stretch;gap:24px;max-width:760px;margin:0 auto 24px}
.partner-logo-box{min-width:0;display:grid;grid-template-rows:64px 32px minmax(36px,auto);align-items:center;justify-items:center;gap:10px;padding:24px 20px}
.partner-official-logo{height:64px;width:64px;object-fit:contain;display:block;margin:0;background:transparent}
.partner-logo-box .name{font-size:22px;line-height:1.3;letter-spacing:.5px}
.partner-logo-box .sub{margin:0;line-height:1.6;max-width:260px}
.partner-connector{align-self:center;justify-self:center;line-height:1}
.footer-logo{width:76px;height:auto;float:left;margin:0 18px 12px 0;display:block}
.pc{display:flex;min-width:0}.pc-inner{width:100%;display:flex;flex-direction:column}.pc-head{min-height:76px}.pc-name{font-size:16px}.pc-name a{color:inherit;text-decoration:none}
.pc-cover{display:block;aspect-ratio:16/9;overflow:hidden;background:#f0f2f5}.pc-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.pc-cover:hover img,.pc-cover:focus-visible img{transform:scale(1.035)}.pc-info{margin-top:auto;min-height:50px}
.pc-view{display:flex;align-items:center;justify-content:space-between;color:var(--kcon-blue);font-size:13px;font-weight:700;padding:14px 16px;border-top:1px solid #dde3f0;text-decoration:none}.pc-view>span:last-child{transition:transform .2s}.pc-view:hover>span:last-child{transform:translateX(4px)}
.all-projects-action{text-align:center;margin-top:28px}.all-projects-action .btn-primary{display:inline-flex;align-items:center;gap:12px;cursor:pointer}[hidden]{display:none!important}
.project-archive,.project-detail{max-width:1180px;margin:auto}.project-page-heading{text-align:center;margin-bottom:32px}.project-page-heading .section-sub{margin:auto}
.project-tools{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.project-filters{display:flex;flex-wrap:wrap;gap:8px}.project-filters button{font:inherit;font-size:12px;font-weight:700;padding:11px 14px;border:1px solid #d7deea;color:var(--kcon-blue);background:white;border-radius:3px;cursor:pointer}.project-filters button[aria-pressed=true]{color:white;background:var(--kcon-blue);border-color:var(--kcon-blue)}
.project-search{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--kcon-blue);flex:0 0 220px}.project-search input{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1px solid #d7deea;border-radius:3px;background:white;color:var(--kcon-navy)}
.project-result-count{text-align:center;color:#666;font-size:13px;margin-top:24px;line-height:1.7}
.project-back{display:inline-block;color:var(--kcon-blue);font-size:13px;font-weight:700;text-decoration:none;margin-bottom:24px;padding:8px 0}.project-detail>.section-label{display:flex;width:fit-content}.project-detail>.section-title{max-width:980px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.8fr);gap:40px;align-items:start;margin-top:28px}.detail-gallery{min-width:0}.detail-stage{position:relative;border:0;padding:0;width:100%;height:clamp(300px,41vw,560px);background:#f5f7fa;display:block;cursor:zoom-in}.detail-stage img{width:100%;height:100%;object-fit:contain;display:block;animation:kcon-image-fade .22s ease}
.expand-icon{position:absolute;bottom:14px;right:14px;background:white;color:var(--kcon-navy);width:40px;height:40px;display:grid;place-items:center;font-size:23px}
.detail-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px}.detail-controls button{font:inherit;min-height:44px;padding:8px 14px;color:var(--kcon-blue);border:1px solid #d7deea;background:white;border-radius:3px;cursor:pointer}
.gallery-thumbs{display:flex;overflow-x:auto;gap:8px;padding:8px 0 12px;margin-top:8px;scrollbar-width:thin}.gallery-thumbs button{flex:0 0 92px;height:68px;border:2px solid transparent;padding:0;background:#f5f7fa;cursor:pointer}.gallery-thumbs button[aria-pressed=true]{border-color:var(--kcon-gold)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.detail-panel{position:sticky;top:96px;padding-top:20px;border-top:3px solid var(--kcon-gold)}.detail-panel h2{font-size:18px;color:var(--kcon-blue);margin-bottom:6px}.detail-panel dl>div{padding:16px 0;border-bottom:1px solid #dde3f0}.detail-panel dt{font-size:11px;color:#777;margin-bottom:6px}.detail-panel dd{font-size:15px;color:var(--kcon-blue);line-height:1.6}.detail-panel>p{font-size:14px;color:#666;line-height:1.8;margin-top:20px}.detail-panel .btn-primary{display:inline-flex;margin-top:24px;font-size:13px;padding:13px 18px}
.project-lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#07193df5;color:white;border:0;padding:64px 24px 24px}.project-lightbox::backdrop{background:#07193d}.project-lightbox>img{width:100%;height:calc(100% - 60px);object-fit:contain;display:block}.lightbox-close{position:absolute;top:16px;right:22px;width:44px;height:44px;background:transparent;border:1px solid #ffffff70;color:white;font-size:30px;cursor:pointer}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;max-width:450px;margin:10px auto 0;gap:24px;font-size:13px}.lightbox-controls button{width:44px;height:44px;background:transparent;border:1px solid #ffffff70;color:white;font-size:20px;cursor:pointer}
@keyframes kcon-fleet-reveal{from{opacity:.6;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes kcon-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes kcon-image-fade{from{opacity:.65}to{opacity:1}}
/* Desktop photo sizing is bounded by the available first-screen height.
   hero-sizing.js measures actual header/statistics/ticker heights, including
   bilingual wrapping. The minimum preserves usable text in short windows. */
@media(min-width:769px){
  .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
  .hero-picture{position:relative;inset:auto;grid-area:1/1;width:100%;height:clamp(440px,min(38.461538vw,calc(100svh - var(--hero-occupied-height,233px))),1000px);aspect-ratio:auto}
  .hero-picture .hero-img{object-position:50% var(--hero-focal-y,50%);animation-name:kcon-fleet-desktop-reveal}
  .hero-content{position:relative;inset:auto;grid-area:1/1;min-height:0;height:100%;padding-top:32px;padding-bottom:32px;z-index:1}
  .hero-stats{position:relative;inset:auto;grid-area:2/1;z-index:1}
}
@keyframes kcon-fleet-desktop-reveal{from{opacity:.6}to{opacity:1}}
@media(max-width:1050px) and (min-width:769px){nav{padding-inline:24px}.nav-links a{padding-inline:8px;font-size:11px}.nav-phone{padding:10px 12px;font-size:12px}.nav-logo{--header-logo-width:185px;flex-basis:215px;min-height:56px}.header-company-name{font-size:10px}.lang-btn{padding:8px 10px}}
@media(max-width:900px){.detail-layout{grid-template-columns:1fr;gap:28px}.detail-panel{position:static}.detail-panel dl{display:flex;flex-wrap:wrap;gap:24px}.detail-panel dl>div{min-width:140px}.project-tools{flex-direction:column;align-items:stretch}.project-search{flex:auto;max-width:400px}}
@media(max-width:768px){html{scroll-padding-top:76px}.nav-logo{--header-logo-width:166px;flex-basis:190px;min-height:55px}.header-company-name{font-size:9.5px;white-space:normal;max-width:145px;line-height:1.2}.hero{background-image:none!important}.hero-picture .hero-img{display:block;object-position:87% 52%}.why-badge-overlay{right:8px;bottom:8px}.why-grid{gap:36px}.footer-logo{width:68px}.project-lightbox{padding-inline:12px}}
@media(max-width:380px){.nav-logo{--header-logo-width:150px;flex-basis:172px}.header-company-name{max-width:125px}.lang-btn{padding:8px 10px;letter-spacing:1px}.hero-title{font-size:25px}}
@media(max-width:580px){.partner-strip{padding:40px 20px}.partner-logos{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:8px}.partner-logo-box{grid-template-rows:48px 38px minmax(70px,auto);gap:8px;padding:18px 10px}.partner-official-logo{width:48px;height:48px}.partner-logo-box .name{font-size:14px;letter-spacing:0}.partner-logo-box .sub{font-size:11px}.partner-connector{font-size:22px}.partner-badge{max-width:100%;font-size:10px;letter-spacing:1px;line-height:1.5;padding:8px 14px}}
@media(max-width:580px){.pc-head{min-height:72px}.pc-cover img{height:100%}.project-detail,.project-archive{padding:40px 20px}.detail-stage{height:300px}.gallery-thumbs button{flex-basis:76px;height:58px}.detail-panel dl{gap:12px 24px}.project-detail>.section-title{font-size:28px}.project-filters{gap:6px}.project-filters button{padding:10px;font-size:11px}.detail-controls button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-picture .hero-img,.why-main-img,.why-image-block.visible .why-main-img,.pc-cover:hover img{transform:none}.scroll-indicator{display:none!important}}

/* Homepage only: wide, image-first featured projects. Archive cards stay unchanged. */
#projects{background:#fff;padding:76px clamp(40px,4vw,64px)}
#projects .home-project-heading,#projects .projects-grid,#projects .all-projects-action{max-width:1600px;margin-inline:auto}
#projects .home-project-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px;text-align:left}
#projects .section-title{color:var(--kcon-navy);font-size:clamp(32px,2.7vw,44px);margin-bottom:0}
#projects .section-title span{color:inherit}
#projects .section-sub{margin:0;max-width:440px;text-align:right;font-size:15px;line-height:1.8;color:#77808b}
#projects .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
#projects .home-project-card .pc-inner{border:1px solid #dce2ea;border-radius:0;box-shadow:none;transition:transform .35s ease,box-shadow .35s ease}
#projects .home-project-card .pc-inner:hover,#projects .home-project-card .pc-inner:focus-within{transform:translateY(-4px);box-shadow:0 8px 20px rgba(10,42,94,.07)}
#projects .home-project-card .pc-cover{aspect-ratio:16/9;flex-shrink:0}
#projects .home-project-card .pc-inner:hover img,#projects .home-project-card .pc-inner:focus-within img{transform:scale(1.035)}
#projects .home-project-copy{padding:24px 26px 12px;display:flex;flex-direction:column;flex:1}
#projects .home-project-category{color:var(--kcon-gold);font-size:12px;font-weight:700;letter-spacing:1px;line-height:1.6;margin-bottom:8px}
#projects .pc-name{font-family:inherit;font-size:clamp(20px,1.5vw,25px);font-weight:700;line-height:1.45;color:var(--kcon-navy);margin-bottom:16px}
#projects .home-project-meta{color:#77808b;font-size:14px;line-height:1.7;margin-top:auto;margin-bottom:22px}
#projects .pc-view{padding:17px 0 10px;font-size:14px;border-top:1px solid #dce2ea;justify-content:flex-start;gap:8px}
#projects .home-project-link{position:relative}
#projects .home-project-link:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--kcon-gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
#projects .pc-view:hover .home-project-link:after,#projects .pc-view:focus-visible .home-project-link:after{transform:scaleX(1)}
#projects .all-projects-action{text-align:left;margin-top:30px}
#projects .all-projects-action .btn-primary{font-size:14px;padding:15px 24px;transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
#projects .all-projects-action .btn-primary:hover{box-shadow:0 5px 12px rgba(200,151,42,.18)}
@media(min-width:641px) and (max-width:1023px){#projects .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#projects .home-project-heading{align-items:flex-start;gap:24px}#projects .section-sub{max-width:330px}}
@media(max-width:640px){#projects{padding:48px 22px}#projects .home-project-heading{display:block;margin-bottom:28px}#projects .section-title{font-size:30px}#projects .section-sub{text-align:left;margin-top:14px;font-size:14px}#projects .projects-grid{grid-template-columns:minmax(0,1fr);gap:24px}#projects .home-project-copy{padding:22px 22px 12px}#projects .pc-name{font-size:22px}#projects .all-projects-action{margin-top:26px}}
@media(prefers-reduced-motion:reduce){#projects .home-project-card .pc-inner:hover,#projects .home-project-card .pc-inner:focus-within,#projects .home-project-card .pc-inner:hover img,#projects .home-project-card .pc-inner:focus-within img{transform:none}#projects .all-projects-action .btn-primary:hover,#projects .pc-view:hover>span:last-child{transform:none}}
