.site-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(3,7,18,.92);backdrop-filter:blur(10px)}
.site-lightbox.is-open{display:flex}
.site-lightbox__image{max-width:min(94vw,1600px);max-height:88vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.site-lightbox__close{position:absolute;top:18px;right:22px;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(15,23,42,.7);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.site-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:64px;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:rgba(15,23,42,.72);color:#fff;font-size:38px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.site-lightbox__nav:hover{background:rgba(197,160,89,.9);transform:translateY(-50%) scale(1.04)}
.site-lightbox__nav:focus-visible{outline:2px solid #fde68a;outline-offset:3px}
.site-lightbox__prev{left:22px}
.site-lightbox__next{right:22px}
.site-lightbox__nav[hidden]{display:none}
.site-lightbox__hint{position:absolute;bottom:18px;color:rgba(255,255,255,.72);font-size:14px}
.site-form-status{min-height:24px;margin-top:12px;font-size:14px;line-height:1.6}
.site-form-status:empty{display:none}
.site-form-status[data-state="success"]{color:#166534}
.site-form-status[data-state="error"]{color:#b91c1c}
.inqform .submit[disabled]{cursor:wait;opacity:.65}
.site-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.site-form-grid .field{margin:0}
.site-form-grid .site-field--wide{grid-column:1/-1}
.site-form-grid textarea{width:100%;min-height:116px;resize:vertical;background:var(--slate-50);border:0;padding:18px 20px;border-radius:16px;color:var(--navy);font:inherit;line-height:1.6}
.site-form-grid textarea:focus{outline:none;box-shadow:0 0 0 2px var(--gold)}
.site-consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0;color:#475569;font-size:14px;line-height:1.55}
.site-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold);flex:0 0 auto}
.site-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gcard-img,[id^="cimg-prev-"],[id^="aimg-prev-"],#about-img-preview{cursor:zoom-in}
@media(max-width:640px){
  html,body{max-width:100%;overflow-x:clip}
  .wrap{width:100%;max-width:100%;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}

  /* iPhone header: keep all primary navigation available without horizontal clipping. */
  .navtop,header.nav.scrolled .navtop{padding:8px 0}
  .navrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 10px;align-items:center}
  .brand{grid-column:1;grid-row:1;gap:8px;min-width:0}
  .brand .logo{width:36px;height:36px}
  .brand .logo img{width:36px!important;height:36px!important}
  .brand .txt{padding-left:8px}
  .brand .cn{font-size:18px;letter-spacing:-.2px;white-space:nowrap}
  .brand .en{font-size:7px;letter-spacing:.14em;margin-top:4px}
  .navbtn{grid-column:2;grid-row:1;padding:8px 11px;font-size:9px;letter-spacing:.04em}
  #langBtn,.navmenu{display:none!important}
  .creds,header.nav.scrolled .creds{padding:8px 0}
  .credrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:0 max(16px,env(safe-area-inset-left))}
  .cred{min-width:0;gap:0}
  .cred:nth-child(n+3){display:none}
  .cred .ci,.cred .csep{display:none}
  .cred .ct{min-width:0}
  .cred .ct .t{font-size:7px;line-height:1.3;white-space:normal}
  .cred .ct .d{font-size:9px;line-height:1.35;white-space:normal}

  /* Home hero and headline spacing below the taller compact header. */
  .hero{min-height:760px;padding:220px 0 64px}
  .hero .inner{padding:0 18px}
  .hero .eyebrow{max-width:100%;padding:7px 14px;margin-bottom:28px;font-size:9px;letter-spacing:.22em;line-height:1.5}
  .hero h1{font-size:clamp(42px,14vw,58px);letter-spacing:-1.5px;line-height:1.08}
  .hero .sub{font-size:16px;line-height:1.75;margin:30px auto}
  .hero .acts{gap:12px}
  .hero .acts .btn{width:100%;max-width:320px;padding:15px 24px}

  /* Home statistics and partners. */
  .stats{padding-top:56px;padding-bottom:56px}
  .statgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:48px}
  .statcard{min-width:0;padding:22px 10px;border-radius:22px}
  .statcard .si{margin-bottom:10px}
  .statcard .sl{font-size:8px;letter-spacing:.1em;margin-bottom:10px}
  html body .statcard .sv{display:block;width:100%;font-size:clamp(20px,6vw,27px)!important;line-height:1.15;letter-spacing:-.5px;white-space:nowrap}
  html body .statcard:first-child .sv{font-size:clamp(16px,5vw,22px)!important}
  html body .statcard .sv span{display:inline;font-size:12px!important;margin-left:2px}
  .partners{margin-top:36px;padding-top:42px}
  .partners .ph{font-size:16px!important;letter-spacing:.16em;margin-bottom:28px}
  .pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 10px;padding:0}
  .pitem{gap:10px;min-width:0}
  .pitem .pc{width:50px;height:50px}
  .pitem .pn{font-size:11px!important;text-align:center;white-space:normal}

  /* The construction gallery becomes a native swipeable iPhone carousel. */
  #gallery-track{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:8px 16px 14px!important;scrollbar-width:none}
  #gallery-track::-webkit-scrollbar{display:none}
  #gallery-inner{transform:none!important;gap:12px!important}
  .gallery-card{flex:0 0 calc(100vw - 48px)!important;height:220px!important;scroll-snap-align:center;border-radius:16px!important}

  /* Inline desktop grids used by the existing pages. */
  #about{padding:64px 0!important}
  #about>.wrap>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:36px!important}
  #about p{font-size:16px!important;line-height:1.8!important}
  #about-img-wrap{height:330px!important}
  .wrap[style*="max-width:1180px"]>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:28px!important;margin-bottom:52px!important}
  .cases>div>.wrap[style*="max-width:1100px"]>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:14px!important;margin-top:30px!important;margin-bottom:48px!important}
  .cases>div>.wrap[style*="max-width:1100px"]>div[style*="min-height:460px"]{min-height:260px!important}
  .region-card{padding:16px!important}

  .milestone{padding:78px 0}
  .milestone .ml{font-size:12px!important;letter-spacing:.25em;margin-bottom:32px}
  .milestone .big{font-size:76px;letter-spacing:-3px}
  .milestone .unit{font-size:17px;letter-spacing:.12em;margin-bottom:46px}
  .msub{grid-template-columns:1fr;gap:24px;padding-top:36px}
  .msub .mi.mid{border:0;padding:0}
  .cases{padding:72px 0 64px}
  .casehead{margin-bottom:40px}
  .casehead .left{padding-left:18px;border-left-width:5px}
  .casehead h3{font-size:30px;letter-spacing:-1px}
  .casecard{border-radius:24px}
  .casecard .thumb{height:220px}
  .casecard .body{padding:24px 20px}
  .casecard h4{font-size:20px;line-height:1.45}

  .zcyz{padding:64px 0}
  .zcyz h2{font-size:42px;letter-spacing:-1.5px}
  .zcyz .right{grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .zcyz .scard{padding:18px 10px}
  .inquiry{padding:72px 0}
  .inqbox{padding:30px 16px;border-radius:30px;gap:28px}
  .inqbox h3{font-size:38px;letter-spacing:-1px;margin-bottom:24px}
  .inqbox .eb{margin-bottom:24px}
  .inqbox .left p{font-size:16px;line-height:1.7}
  .inqform{padding:24px 16px;border-radius:28px}
  .inqform .fh{margin-bottom:24px}
  .field input,.field select{padding:18px 16px 18px 48px}
  .field svg{left:16px}
  .submit{padding:19px 16px}

  footer{padding:56px 0}
  .frow,.fright,.frtop,.fbottom{width:100%}
  .flinks{flex-wrap:wrap;gap:18px}
  .frtop{align-items:flex-start}
  .frq{align-items:flex-start;max-width:100%}
  .frq .r1{align-items:flex-start;flex-wrap:wrap}
  .qrwrap{padding-left:0;border-left:0}
  .fbottom .addr{width:100%;padding:12px 14px;border-radius:18px;line-height:1.6;white-space:normal}

  .site-lightbox{padding:12px}
  .site-lightbox__image{max-width:96vw;max-height:82vh}
  .site-lightbox__close{top:10px;right:10px}
  .site-lightbox__nav{width:42px;height:52px;border-radius:12px;font-size:30px}
  .site-lightbox__prev{left:8px}
  .site-lightbox__next{right:8px}
  .site-form-grid{grid-template-columns:1fr}
  .site-form-grid .site-field--wide{grid-column:auto}
}
