*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#191919;color:#f5f5f3;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #ff4b00;outline-offset:6px}header{position:absolute;z-index:4;width:100%;height:15vw;display:flex;align-items:flex-start;padding:7.3vw 5.25vw;gap:.7vw}.mobile{font-size:.72vw;line-height:1.1;letter-spacing:.08vw;white-space:nowrap}.brand{display:flex;flex-direction:column;width:4.3vw;line-height:.85;font-weight:bold;margin-top:0}.brand span{font-size:2.1vw}.brand strong{font-size:6.3vw;letter-spacing:-.4vw}.unit{font-size:.95vw;letter-spacing:.07vw;margin-top:.8vw;white-space:nowrap}nav{position:absolute;left:52.8%;right:6.9%;top:5.35vw;display:flex;justify-content:space-between;align-items:center;font-size:.69vw}nav button{padding:0}.language{position:absolute;right:2.6vw;top:5.15vw;font-size:.7vw;color:#909090}.hero{height:56.25vw;position:relative;overflow:hidden;background:#101010;border-bottom:1px solid #050505}.texture{position:absolute;inset:0;background-image:linear-gradient(#101010 3%,transparent 45%,#101010 96%),url('assets/reference.jpg');background-size:100% 100%,100% auto;background-position:center,center 26.5%;opacity:.25;transform:scale(1.4)}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 52% 56%,transparent 0,#11111122 50%,#101010 85%)}h1{position:absolute;z-index:1;left:15%;top:25.1vw;margin:0;font-weight:600;white-space:nowrap;font-size:6.25vw;letter-spacing:-.18vw;line-height:1.13}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.035em}#word{display:inline-block;vertical-align:baseline;min-width:7.4em}.letter-slot{position:relative;display:inline-block}.letter-measure{visibility:hidden}.letter-glyph{position:absolute;inset:0;text-align:center}.glass{position:absolute;z-index:2;left:48.2%;top:20.2vw;width:27%;height:17.3vw;transform:perspective(700px) rotateY(12deg) rotateZ(1deg);backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px);background:linear-gradient(125deg,#ffffff03,#ffffff01 60%,#ffffff07);border:1px solid #cccccc44;border-top:2px solid #bcbcbc70;border-left:5px solid #8f8f8f65;box-shadow:5px 1px 0 -3px #ffffff77,inset 0 0 30px #ffffff03;will-change:transform;pointer-events:none}.intro{position:absolute;z-index:3;left:13%;right:13%;bottom:3.6vw;text-align:center;font-family:Georgia,serif;font-weight:bold;font-size:1.14vw;line-height:1.13;letter-spacing:.19vw;margin:0}.portfolio{position:relative;padding:8.15vw 6.35vw 0 5.7vw}.side-label{position:absolute;left:1.5vw;top:2vw;writing-mode:vertical-rl;font-size:.66vw}.grid{display:grid;grid-template-columns:repeat(5,1fr);column-gap:0;row-gap:8.7vw}.card{padding:0;text-align:left;display:block;min-width:0;transition:transform .65s,opacity .65s;transition-delay:calc(var(--i)*65ms)}.card.out{opacity:0;transform:translateY(30px)}.card-image{height:31.5vw;background-image:url('assets/reference.jpg');background-size:var(--size);background-position:var(--position);position:relative;transition:filter .5s;overflow:hidden}.card:hover .card-image{filter:brightness(1.18)}.bar{height:1vw;background:#55534f;position:relative}.bar:after{content:'';display:block;height:100%;background:#ff4b00;transform:scaleX(0);transform-origin:left;transition:transform .45s}.card:first-child .bar:after,.card:hover .bar:after,.card:focus-visible .bar:after{transform:scaleX(1)}.caption{display:block;font-size:.95vw;letter-spacing:.065vw;padding-top:1.15vw;color:#ddd;transition:color .3s}.card:first-child .caption,.card:hover .caption{color:#ff4b00}footer{height:27.3vw;display:flex;align-items:flex-end;justify-content:space-between;padding:0 5.4vw 7.5vw;color:#555}.footer-brand{font-size:3.3vw;font-weight:bold;letter-spacing:-.3vw;line-height:1}.footer-brand span{font-size:.28vw;letter-spacing:0;margin-left:.3vw}.footer-note{font-size:.65vw;letter-spacing:.18vw;margin-bottom:.6vw}dialog{background:#151515;color:white;border:1px solid #444;padding:45px;max-width:min(680px,90vw);max-height:90vh}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.close{position:absolute;right:12px;top:8px;font-size:28px}dialog h2{font-weight:400}dialog p{font-size:16px;line-height:1.7;color:#bbb}.detail-image{width:min(330px,65vw);height:min(590px,62vh);background-image:url('assets/reference.jpg');background-size:var(--size);background-position:var(--position)}
@media(min-width:1600px){.glass{backdrop-filter:blur(3px)}}@media(max-width:650px){header{height:150px;padding:32px 6%;gap:8px}header .mobile{display:none}.brand{width:40px}.brand span{font-size:20px}.brand strong{font-size:60px}.unit{font-size:10px;margin-top:8px}nav{top:124px;left:6%;right:6%;font-size:10px}.language{top:36px;right:6%;font-size:12px}.hero{height:680px}h1{left:7%;top:300px;font-size:7.1vw;letter-spacing:-.15vw}.glass{left:47%;top:245px;height:140px;width:43%}.intro{bottom:38px;left:8%;right:8%;font-size:12px;line-height:1.5;letter-spacing:1px}.intro br{display:none}.portfolio{padding:55px 6% 0}.side-label{font-size:8px;left:1.5%;top:16px}.grid{grid-template-columns:repeat(2,1fr);gap:38px 0}.card-image{height:78vw}.caption{font-size:11px;padding-top:10px;letter-spacing:.4px}.bar{height:6px}footer{height:230px;padding:0 6% 45px}.footer-brand{font-size:36px}.footer-brand span{font-size:4px}.footer-note{display:none}footer .mobile{font-size:9px}.card:last-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.card.out{opacity:1;transform:none}}
.texture{background-image:linear-gradient(#101010 3%,transparent 45%,#101010 96%),url('assets/texture.svg');background-size:100% 100%;background-position:center;opacity:.55;transform:none}
.intro{font-size:1.08vw;letter-spacing:.17vw;font-weight:500}#word{font-size:.91em}@media(max-width:650px){.intro{font-size:12px;letter-spacing:1px}}

/* Soft glass edges and restrained light reflection. */
.glass{border-radius:9px;overflow:hidden}
.glass::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(118deg,transparent 26%,#ffffff02 39%,#ffffff14 48%,#ffffff04 53%,transparent 67%);box-shadow:inset 0 1px 0 #ffffff24}
.glass::after{content:'';position:absolute;top:0;left:12%;width:48%;height:1px;background:linear-gradient(90deg,transparent,#ffffffa0,transparent);box-shadow:0 0 7px 1px #ffffff18;pointer-events:none}
nav a,nav button{color:#a0a0a0;display:inline-block;transform-origin:center;transition:color .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
nav a:hover,nav button:hover,nav a:focus-visible,nav button:focus-visible{color:#ff4b00;transform:translateY(-1px) scale(1.06)}
nav a:active,nav button:active{transform:scale(1.02)}
.footer-logo{color:#f5f5f3;flex-shrink:0}
@media(max-width:650px){.glass{border-radius:7px}}
@media(prefers-reduced-motion:reduce){nav a:hover,nav button:hover,nav a:focus-visible,nav button:focus-visible{transform:none}}
