.vision-v033 .project-inquiry-form { width:100%; }
.vision-v033 .project-inquiry-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin:38px 0 0;text-align:left; }
.vision-v033 .project-inquiry-grid label { display:flex;flex-direction:column;gap:10px;color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.14em; }
.vision-v033 .project-inquiry-grid input,.vision-v033 .project-inquiry-grid select,.vision-v033 .project-inquiry-grid textarea { width:100%;min-height:48px;padding:10px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;background:#050505;color:#f4f2ee;font:inherit;font-size:16px;letter-spacing:normal; }
.vision-v033 .project-inquiry-grid select { color-scheme:dark; }
.vision-v033 .project-inquiry-grid select option { color:#f4f2ee;background-color:#111; }
.vision-v033 .project-inquiry-grid textarea { resize:vertical;min-height:110px; }
.vision-v033 .project-inquiry-grid input:focus,.vision-v033 .project-inquiry-grid select:focus,.vision-v033 .project-inquiry-grid textarea:focus { outline:1px solid #c4b8dd;outline-offset:3px; }
.vision-v033 .project-inquiry-wide { grid-column:1/-1; }
.vision-v033 .project-inquiry-consent { display:flex;gap:12px;align-items:flex-start;margin:30px 0 0;text-align:left;color:rgba(255,255,255,.75);font-size:13px;line-height:1.6; }
.vision-v033 .project-inquiry-consent input { width:18px;height:18px;flex:none;margin:2px 0 0;accent-color:#c4b8dd; }
.vision-v033 .project-inquiry-consent a { text-decoration:underline;text-underline-offset:3px; }
.vision-v033 .project-inquiry-trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.vision-v033 .project-inquiry-submit { min-height:48px;margin:34px auto 0;padding:0 24px;border:1px solid rgba(255,255,255,.38);background:transparent;color:#f4f2ee;font:inherit;font-size:12px;letter-spacing:.16em;cursor:pointer; }
.vision-v033 .project-inquiry-submit:disabled { opacity:.55;cursor:wait; }
.vision-v033 .project-inquiry-submit:focus-visible { outline:1px solid #c4b8dd;outline-offset:5px; }
.vision-v033 .project-inquiry-status { min-height:1.6em;margin:14px 0 0;color:#ded1ef;font-size:13px;line-height:1.6; }
.vision-v033 .project-inquiry-result { margin:45px auto 0;padding:30px;border:1px solid rgba(255,255,255,.24);color:#f4f2ee; }
.vision-v033 .project-inquiry-result[hidden],.vision-v033 .project-inquiry-form[hidden] { display:none; }
.vision-v033 .project-inquiry-result h3 { font-size:clamp(23px,3vw,36px);font-weight:350; }
.vision-v033 .project-inquiry-result p { color:rgba(255,255,255,.75);font-size:14px;line-height:1.7; }
@media(max-width:700px) { .vision-v033 .project-inquiry-grid { grid-template-columns:1fr;gap:20px;margin-top:32px; } .vision-v033 .project-inquiry-wide { grid-column:auto; } .vision-v033 .project-inquiry-submit { width:100%; } }

/* Shared end-page treatment for the three project detail pages. */
.vision-v033 { min-height:100vh; display:grid; place-items:center; padding:clamp(110px,14vh,160px) 24px clamp(100px,12vh,140px); background:#050505; }
.vision-v033-inner { width:min(100%,900px); margin:0 auto; text-align:center; }
.vision-v033 p.vision-index { margin:0; color:rgba(255,255,255,.52); font-size:10px; letter-spacing:.2em; }
.vision-v033 .vision-title { margin:18px 0 14px; font-size:clamp(32px,5.2vw,66px); line-height:1.08; font-weight:350; letter-spacing:.045em; }
.vision-v033 p.vision-intro { margin:0; color:rgba(255,255,255,.66); font-size:clamp(14px,1.35vw,17px); line-height:1.7; }
.vision-upload { position:relative; display:flex; min-height:210px; flex-direction:column; align-items:center; justify-content:center; margin:clamp(36px,5vw,58px) 0 0; padding:28px 22px; border:1px dashed rgba(255,255,255,.24); background:rgba(255,255,255,.018); transition:border-color 180ms ease,background 180ms ease; }
.vision-upload:hover,.vision-upload:focus-within { border-color:rgba(255,255,255,.48); background:rgba(255,255,255,.035); }
.vision-file-input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.vision-upload-icon { width:28px; height:28px; margin-bottom:17px; fill:none; stroke:rgba(255,255,255,.66); stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.vision-upload h3 { margin:0 0 9px; color:rgba(255,255,255,.9); font-size:11px; font-weight:400; letter-spacing:.18em; pointer-events:none; }
.vision-v033 .vision-upload p { margin:0; color:rgba(255,255,255,.53); font-size:12px; pointer-events:none; }
.vision-file-name { margin-top:12px; color:rgba(255,255,255,.38); font-size:10px; letter-spacing:.04em; pointer-events:none; }
.vision-v033 p.vision-local-note { margin:10px 0 0; color:rgba(255,255,255,.38); font-size:10px; line-height:1.6; }
.project-footer { position:relative; z-index:1; padding:38px 24px 24px; border-top:1px solid rgba(255,255,255,.1); text-align:center; }
.project-footer a { display:inline-block; min-height:44px; padding:15px; border-bottom:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.68); font-size:11px; letter-spacing:.14em; text-decoration:none; transition:color 180ms ease,border-color 180ms ease; }
.project-footer a:hover,.project-footer a:focus-visible { color:#fff; border-color:rgba(255,255,255,.65); }
.project-footer a:focus-visible { outline:1px solid #fff; outline-offset:5px; }
.project-copyright { position:relative; z-index:1; padding:0 24px 110px; background:#050505; text-align:center; font-family:Inter,"Helvetica Neue",Arial,sans-serif; }
.project-copyright a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; color:#aaa; font-size:10px; line-height:1.8; letter-spacing:.12em; text-decoration:none; transition:color 180ms ease; }
.project-copyright a:hover { color:#fff; }
.project-copyright a:focus-visible { outline:1px solid #fff; outline-offset:6px; }
.social-lock { position:fixed; z-index:1001; left:40px; bottom:calc(38px + env(safe-area-inset-bottom,0px)); display:flex; align-items:center; gap:16px; pointer-events:auto; --brand:#42ffe8; }
.social-lock a { display:grid; place-items:center; width:24px; height:24px; color:rgba(255,255,255,.42); opacity:.8; transform:scale(1); transform-origin:center; transition:color 200ms ease-out,opacity 200ms ease-out,transform 200ms ease-out; }
.social-lock a:hover,.social-lock a:focus-visible { color:var(--brand); opacity:1; transform:scale(1.12); outline:none; }
.social-lock svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.social-youtube svg,.social-red svg,.social-douyin svg { fill:currentColor; stroke:none; }
.top-link,.back-to-top { position:fixed; z-index:1001; right:26px; bottom:calc(90px + env(safe-area-inset-bottom,0px)); width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:rgba(5,5,5,.72); color:rgba(255,255,255,.65); font:inherit; font-size:11px; letter-spacing:.08em; text-decoration:none; cursor:pointer; transition:opacity 220ms ease,color 220ms ease,border-color 220ms ease,visibility 220ms ease; }
.top-link:hover,.top-link:focus-visible,.back-to-top:hover,.back-to-top:focus-visible { color:#fff; border-color:rgba(255,255,255,.55); outline:none; }
.back-to-top { opacity:0; visibility:hidden; pointer-events:none; }
.back-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; }
.back-to-top svg { display:block; width:20px; height:25px; fill:none; stroke:currentColor; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round; }
@media(min-width:901px) {
  .vision-v033 p.vision-index { font-size:12px; color:rgba(255,255,255,.65); }
  .vision-upload h3 { font-size:13px; }
  .vision-v033 .vision-upload p { font-size:14px; color:rgba(255,255,255,.65); }
  .vision-file-name { font-size:12px; color:rgba(255,255,255,.65); }
  .vision-v033 p.vision-local-note { font-size:13px; color:rgba(255,255,255,.65); }
  .vision-v033 .project-inquiry-grid label { color:rgba(255,255,255,.70); }
  .vision-v033 .project-inquiry-submit { font-size:13px; }
  .vision-v033 p.vision-coming-soon { font-size:13px; color:rgba(255,255,255,.65); }
  .social-lock { gap:8px; }
  .social-lock a { width:40px; height:40px; color:rgba(255,255,255,.65); opacity:1; }
  .social-lock svg { width:18px; height:18px; }
}
@media(max-width:720px) {
  .vision-v033 { min-height:100svh; padding:104px 20px 100px; }
  .vision-v033-inner { width:100%; }
  .vision-v033 .vision-title { font-size:clamp(31px,9vw,44px); }
  .vision-upload { min-height:190px; margin-top:34px; }
  .project-footer { padding:24px 24px 12px; }
  .project-copyright { padding:0 24px 100px; }
  .social-lock { left:max(24px,env(safe-area-inset-left,0px)); bottom:calc(34px + env(safe-area-inset-bottom,0px)); gap:17px; }
  .social-lock a { width:18px; height:18px; }
  .social-lock svg { width:15px; height:15px; }
  .top-link,.back-to-top { right:max(20px,env(safe-area-inset-right,0px)); bottom:calc(90px + env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) {
  .project-footer a,.project-copyright a,.social-lock a,.top-link,.back-to-top { transition:none; }
}
