/* Ver5.44 — local Chinese typeface, consistent language-specific glyphs */
@font-face{font-family:TMIB Chinese;src:url("assets/fonts/tmib-zh.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
html:lang(zh) body,html:lang(zh) body *:not(svg):not(path){font-family:"TMIB Chinese","Microsoft YaHei","PingFang SC",sans-serif!important;font-style:normal}
html:lang(zh) body{font-weight:400}html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3,html:lang(zh) b,html:lang(zh) strong{font-weight:700!important}html:lang(zh) p{font-weight:400!important;letter-spacing:.01em!important}
html:lang(ja) body{font-family:"Noto Sans JP","Yu Gothic",sans-serif}
#projects .project-honeycomb{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0 8px;max-width:1160px;margin:50px auto 70px;padding:0 4px}
#projects .hex-project{grid-column:span 2;position:relative;aspect-ratio:.866;min-height:0!important;padding:0!important;border:0!important;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#18365d!important;isolation:isolate;transition:filter .2s,transform .2s;display:flex;align-items:center;justify-content:center;text-align:center;margin-top:-15%;overflow:hidden}
#projects .hex-project:nth-child(-n+3){margin-top:0}#projects .hex-project:nth-child(1),#projects .hex-project:nth-child(8){grid-column:2/span 2}#projects .hex-project:nth-child(11){grid-column:3/span 2}
#projects .hex-project:before{content:"";position:absolute;inset:2px;background:linear-gradient(150deg,#214a72,#081828);clip-path:inherit;z-index:-2}
#projects .hex-project img{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:cover;opacity:.58;z-index:-1}
#projects .hex-project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,13,25,.96) 15%,rgba(5,16,30,.42) 65%,rgba(20,45,70,.12));z-index:-1}
#projects .hex-copy{width:88%;padding:12% 5% 0}#projects .hex-number{font-size:10px;letter-spacing:.13em;color:#c0d3e3}#projects .hex-project h3{font-size:clamp(14px,1.6vw,21px);line-height:1.5;margin:10px 0 13px;font-weight:600;letter-spacing:0}#projects .hex-enter{font-size:11px;color:#b8dcf0;letter-spacing:0}
#projects .hex-project:hover,#projects .hex-project:focus-visible{filter:brightness(1.35);transform:translateY(-4px);outline:none}#projects .hex-project:focus-visible:before{background:#78d7ff}
@media(max-width:600px){#projects .project-honeycomb{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 6px;margin:30px auto 45px}#projects .hex-project:nth-child(n){grid-column:span 2;margin-top:0}#projects .hex-project:nth-child(3n){grid-column:2/span 2;margin-top:-15%;margin-bottom:-15%}#projects .hex-project h3{font-size:14px;margin:8px 0}#projects .hex-enter{font-size:10px}#projects .hex-number{font-size:9px}}
@media(prefers-reduced-motion:reduce){#projects .hex-project{transition:none}}

/* Ver5.44.1 — Bau's supplied transparent cube skins */
#projects .project-honeycomb{display:block;position:relative;height:0;padding:0 0 93.82%;max-width:1160px;margin:45px auto 70px;isolation:isolate}
#projects .hex-project:nth-child(n){position:absolute;display:block;left:calc(var(--x)*25%);top:calc(var(--y)*23.0769%);width:25%;aspect-ratio:.8660254;margin:0!important;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:transparent!important;border:0!important;overflow:visible;isolation:isolate}
#projects .hex-project:before,#projects .hex-project:after{display:none}
#projects .hex-project img{inset:0;width:100%;height:100%;object-fit:fill;opacity:1;z-index:0;filter:brightness(.92);transition:filter .2s}
#projects .hex-copy{position:absolute;left:9%;right:9%;bottom:23%;width:auto;padding:7px 4px;background:rgba(3,12,24,.84);border-top:1px solid rgba(149,207,250,.4);z-index:1;pointer-events:none;backdrop-filter:blur(3px)}
#projects .hex-number{font-size:9px;letter-spacing:.1em;color:#b9d7f1}#projects .hex-project h3{font-size:clamp(12px,1.5vw,19px);line-height:1.45;margin:4px 0;color:#fff;text-shadow:0 1px 3px #000}#projects .hex-enter{font-size:10px;color:#b3d9f8}
#projects .hex-project:hover,#projects .hex-project:focus-visible{transform:none;filter:drop-shadow(0 0 12px #3e9cea);z-index:3}#projects .hex-project:hover img,#projects .hex-project:focus-visible img{filter:brightness(1.2)}#projects .hex-project:focus-visible .hex-copy{outline:2px solid #b6e2ff}
@media(max-width:600px){#projects .project-honeycomb{padding-bottom:360.84%;margin:30px auto 45px}#projects .hex-project:nth-child(n){left:calc(var(--mx)*50%);top:calc(var(--my)*12%);width:50%;margin:0!important}#projects .hex-project h3{font-size:13px}#projects .hex-number{font-size:8px}#projects .hex-enter{font-size:9px}#projects .hex-copy{padding:5px 3px}}

#projects .project-honeycomb{height:auto;padding:0;aspect-ratio:1.065877;}
@media(max-width:600px){#projects .project-honeycomb{padding:0;aspect-ratio:.277131;}}

/* Ver5.5 — projects immediately after the first screen */
main>.hero{min-height:100svh}
.projects-scroll{position:absolute;left:var(--pad);bottom:25px;z-index:9;padding:12px 0;font-size:12px;color:#c4e1f6;letter-spacing:.08em;border-bottom:1px solid #537c9f}
#projects{padding:95px var(--pad) 40px;scroll-margin-top:0;min-height:100svh;background:radial-gradient(ellipse at 50% 45%,rgba(24,54,93,.22),transparent 65%)}
#projects>h2{font-size:clamp(26px,3vw,40px);line-height:1.3;letter-spacing:-.02em;margin:12px 0 0;max-width:none}
#projects .project-honeycomb{width:min(100%,max(560px,calc(106.5877svh - 255.81px)));margin:24px auto 20px}
@media(min-width:1000px){#projects .hex-project h3{font-size:14px}#projects .hex-copy{padding:5px 3px}#projects .hex-number{font-size:8px}#projects .hex-enter{font-size:9px}}
@media(max-width:600px){#projects{padding:90px 16px 32px}#projects>h2{font-size:25px}#projects .project-honeycomb{width:100%;margin:24px auto 20px}.projects-scroll{bottom:16px;font-size:11px}}

/* Ver5.5.1 — lettering integrated into cube artwork; 150% desktop scale */
#projects .project-honeycomb{max-width:1740px;width:min(100%,max(840px,calc(159.88155svh - 383.715px)));margin:36px auto 30px}
#projects .hex-copy{left:8%;right:8%;bottom:31%;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;transform:translateY(50%)}
#projects .hex-number,#projects .hex-enter{display:none!important}
#projects .hex-project h3{font-size:clamp(16px,1.65vw,26px);font-weight:700!important;line-height:1.5;margin:0!important;color:#fff;-webkit-text-stroke:3px #070b12;paint-order:stroke fill;text-shadow:0 2px 3px #000,1px 0 1px #000,-1px 0 1px #000;letter-spacing:.015em;overflow-wrap:anywhere}
#projects .hex-project img{filter:brightness(1)}
#projects .hex-project:focus-visible .hex-copy{outline:0}#projects .hex-project:focus-visible h3{text-decoration:underline;text-underline-offset:6px}
@media(max-width:600px){#projects .project-honeycomb{width:100%;max-width:none;margin:28px auto}#projects .hex-project h3{font-size:clamp(14px,3.8vw,21px);-webkit-text-stroke:2.5px #070b12}#projects .hex-copy{bottom:32%;left:7%;right:7%}}

/* Ver5.5.2 — four characters per line, centered without changing cube scale */
#projects .hex-copy{top:61%;bottom:auto;transform:translateY(-50%);left:6%;right:6%;text-align:center}
#projects .hex-project h3{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.38;overflow-wrap:normal;word-break:normal;text-align:center}
#projects .cube-title-line{display:block;white-space:nowrap;text-align:center}

/* Ver5.5.3 — complete words, semantic lines, consistent centering */
#projects .cube-title-line{max-width:100%;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
html:lang(en) #projects .hex-project h3,html:lang(ja) #projects .hex-project h3{font-size:clamp(13px,1.4vw,23px)}
@media(max-width:600px){html:lang(en) #projects .hex-project h3,html:lang(ja) #projects .hex-project h3{font-size:clamp(12px,3.1vw,17px)}}
