*{box-sizing:border-box}body{margin:0;background:#0b2028;color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.hero{position:relative;min-height:0;height:min(100svh,56.28vw);overflow:hidden;isolation:isolate}.world{position:absolute;width:100%;height:100%;right:0;top:50%;transform:translateY(-50%);z-index:-3}.world video{width:100%;height:100%;object-fit:fill}.dragon{position:absolute;width:55%;right:-5%;bottom:9%;pointer-events:none}.shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,21,29,.70),rgba(3,21,29,.28) 37%,transparent 60%),linear-gradient(0deg,rgba(3,19,25,.55),transparent 18%)}header{display:flex;align-items:center;padding:3.1vw 3.85vw;gap:2.6vw}.brand{width:22vw;max-width:370px;display:block}.brand img{width:100%;height:auto;display:block}.location{border-left:1px solid #bdc7c7;padding:10px 0 10px 2.3vw;font-size:clamp(10px,.96vw,16px);letter-spacing:2px;white-space:nowrap}nav{margin-left:auto;display:flex;align-items:center;gap:2.5vw;font-size:clamp(14px,1.18vw,20px)}.talk{border:1px solid #f0f4f4;border-radius:15px;padding:15px 25px}a:hover{color:#ffedc8}.copy{position:absolute;top:21%;left:3.85%;width:61%}.eyebrow{font-size:clamp(11px,.9vw,15px);letter-spacing:4px;margin:0 0 2.2vw}h1{font-size:clamp(65px,7.65vw,148px);line-height:.96;letter-spacing:-.052em;margin:0;font-weight:700}h1 span{color:#fff0cf}.intro{font-size:clamp(16px,1.5vw,26px);line-height:1.45;margin:1.5vw 0 2.8vw;letter-spacing:-.02em}.cta{display:inline-flex;gap:25px;align-items:center;background:#fff0cf;color:#071922;font-weight:600;font-size:clamp(16px,1.36vw,23px);padding:18px 25px;border-radius:5px;box-shadow:0 4px 30px #0002}.cta:hover{background:white;color:#071922}footer{position:absolute;bottom:4%;left:3.85%;right:3.85%;display:flex;align-items:end;border-bottom:0;padding-bottom:16px;gap:24px}.scroll,.signature{font-size:11px;letter-spacing:2px}.scroll span{display:block;font-size:28px;line-height:1.4}.signature{margin-left:auto;padding-bottom:3px}button{background:transparent;border:1px solid #a7b8b777;color:#fff;border-radius:50%;width:34px;height:34px;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #fff0cf;outline-offset:6px}@media(min-aspect-ratio:2/1){.copy{top:23%}h1{font-size:12vh}.intro{font-size:2.6vh;margin:2vh 0 3vh}.eyebrow{margin-bottom:2vh}}@media(max-width:700px){.hero{min-height:780px;height:100svh}header{padding:25px 6%;flex-wrap:wrap;gap:18px}.brand{width:190px}.location{font-size:9px;margin-left:auto;padding-left:15px;letter-spacing:1px}nav{width:100%;gap:26px;margin-top:3px;font-size:14px}.talk{margin-left:auto;padding:10px 15px;border-radius:10px}.world{height:auto;width:1400px;aspect-ratio:1672/941;right:-120px;top:auto;bottom:-40px;transform:none}.shade{background:linear-gradient(180deg,#0b2028 0%,#0b2028ed 22%,#0b202890 44%,transparent 67%,#07182077)}.copy{top:170px;left:6%;width:90%}.eyebrow{font-size:9px;letter-spacing:2.4px;margin-bottom:22px}h1{font-size:clamp(48px,11.8vw,82px)}.intro{font-size:15px;margin:20px 0 24px}.cta{font-size:15px;padding:14px 19px}.dragon{width:44%;right:3%;bottom:9%}footer{left:6%;right:6%;bottom:20px}.scroll{display:none}.signature{font-size:9px}}
html{scroll-behavior:smooth}.work{padding:85px 3.85% 60px;background:radial-gradient(ellipse at 85% 0%,#284241 0,transparent 45%),#0b2028;position:relative}.work:before{content:'';position:absolute;left:3.85%;right:3.85%;top:0;height:1px;background:linear-gradient(90deg,transparent,#c7a36c,transparent)}.work-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#b8c6c8}.work-heading{display:flex;align-items:end;justify-content:space-between;margin:45px 0 50px;opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.work-heading.visible{opacity:1;transform:none}.work h2{font-size:clamp(42px,5.2vw,90px);line-height:1.02;letter-spacing:-.055em;margin:0;font-weight:500}.work h2 em{color:#f4dfb3;font-style:normal}.work-heading p{font-size:18px;line-height:1.6;color:#c5d0d1;margin-right:6%}.filters{display:flex;gap:10px;margin-bottom:35px}.filters button,#more{width:auto;height:auto;padding:11px 22px;border-radius:30px;font:14px Arial;color:#ced9d9}.filters button[aria-pressed=true]{background:#f4dfb3;color:#0b2028;border-color:#f4dfb3}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}.project{width:100%;height:auto;border:0;border-radius:0;text-align:left;padding:0;display:block}.project-art{position:relative;aspect-ratio:16/10;overflow:hidden;background:#18323b;border-radius:7px}.project-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project:hover img{transform:scale(1.035)}.play{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:50px;height:50px;background:#fff0cf;color:#102627;border-radius:50%;font-size:26px}.project-details{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid #ffffff23}.project h3{font-size:24px;font-weight:400;letter-spacing:-.03em;margin:0}.project-details>span{font-size:10px;letter-spacing:1.5px;color:#abc0c2}#more{margin:35px auto 0;display:block}#more[hidden]{display:none}.work-end{display:flex;justify-content:space-between;align-items:center;margin-top:75px;padding-top:30px;border-top:1px solid #ffffff30}.work-end span{font-size:10px;letter-spacing:2px}.work-end a{font-size:26px;color:#f4dfb3}dialog{width:min(1100px,94vw);max-height:92svh;background:#0b2028;color:white;border:1px solid #577273;border-radius:12px;padding:20px}dialog::backdrop{background:#020c12e8;backdrop-filter:blur(10px)}.film-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.film-head h3{margin:0;font-weight:400}.film-head button{flex:none}dialog video{width:100%;max-height:75svh;display:block;background:#000}@media(max-width:700px){.work{padding:50px 6%}.work-top span:last-child{display:none}.work-heading{display:block;margin:30px 0}.work-heading p{font-size:15px;margin-top:24px}.work-grid{grid-template-columns:1fr;gap:28px}.project h3{font-size:21px}.filters button{font-size:12px;padding:10px 14px}.work-end{align-items:start;gap:24px;flex-direction:column}.work-end a{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-heading{opacity:1;transform:none;transition:none}.project-art img{transition:none}}
.dragon-anchor{position:absolute;width:55%;aspect-ratio:1672/941;right:-5%;bottom:9%;pointer-events:none}.dragon-traveller{position:fixed;z-index:5;pointer-events:none;aspect-ratio:1672/941;transform-origin:50% 75%;will-change:top,left,transform}.dragon-traveller .dragon{position:static;width:100%;height:auto;display:block}.dragon-landing{position:relative;width:clamp(280px,35vw,570px);aspect-ratio:1672/941;flex-shrink:0;align-self:end;margin-bottom:-14px}.landing-ring{position:absolute;left:27%;right:14%;height:12%;bottom:8%;border:1px solid #d7b57a88;border-radius:50%;background:radial-gradient(ellipse,#dabf8135,transparent 70%);box-shadow:0 8px 35px #e4bd7e15;opacity:var(--land,0)}.work-heading{opacity:1;transform:none;transition:none}@media(max-width:700px){.dragon-anchor{width:44%;right:3%;bottom:9%}.dragon-landing{width:270px;margin:0 0 -10px auto}.work-heading{margin-bottom:20px}}
/* One continuous environment: the camera enters the portal before work appears. */
body{isolation:isolate}.hero{height:100svh;min-height:0;isolation:auto;overflow:visible;background:transparent}.world{position:fixed;inset:0;width:100%;height:100svh;transform:none;transform-origin:67% 42%;z-index:-3;will-change:transform}.world video{object-fit:cover;object-position:center}.world-veil{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(110deg,#041823,#102b32 60%,#173333);opacity:0}.shade{position:absolute}.hero header,.hero .copy,.hero footer{opacity:calc(1 - var(--depart,0));transform:translateY(calc(var(--depart,0)*-80px));will-change:opacity,transform}.portal-passage{height:100svh;display:grid;place-items:center;pointer-events:none}.portal-passage span{font-size:clamp(12px,1.3vw,22px);letter-spacing:.3em;text-align:center;color:#fff0cf;text-shadow:0 2px 18px #102627;opacity:var(--pass,0);transform:translateY(calc((1 - var(--pass,0))*30px))}.work{background:transparent;padding-top:65px}.work:before{display:none}.project-art{box-shadow:0 22px 70px #0005}.project-details{background:linear-gradient(90deg,#061b2677,transparent);padding-left:10px;padding-right:10px}.work-grid{perspective:1400px}.project{transition:transform .5s}.project:hover{transform:translateY(-6px)}.work-end{padding-bottom:45px}.dragon-traveller{z-index:5}@media(max-width:700px){.hero{min-height:780px}.world{width:100%;height:100svh;right:0;bottom:auto;aspect-ratio:auto}.world video{object-position:66% center}.portal-passage{height:75svh}.portal-passage span{max-width:240px;line-height:1.8}.dragon-anchor{width:100%;right:-14%;bottom:9%}}@media(prefers-reduced-motion:reduce){.project{transition:none}.project:hover{transform:none}}
.terrace-world{position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('gallery-terrace.webp') center center/cover no-repeat;opacity:0;will-change:opacity,transform}.work{padding-right:43%;min-height:100svh}.work-top span:last-child{display:none}.work-heading{margin:40px 0}.work h2{font-size:clamp(40px,4.7vw,78px);text-shadow:0 2px 25px #00131ccc}.dragon-landing{display:none}.work-grid{gap:30px 20px}.project-art{aspect-ratio:16/10}.project-details{align-items:start;flex-direction:column;gap:8px;background:#071c25ba;backdrop-filter:blur(10px);border-radius:0 0 6px 6px;padding:15px}.project h3{font-size:20px}.work-end{align-items:start;flex-direction:column;gap:18px}.filters{flex-wrap:wrap}.filters button{background:#091f29bb;backdrop-filter:blur(8px)}.work-top{text-shadow:0 2px 8px #000}.work-end{background:#091f2966;padding:24px;border-radius:8px}@media(max-width:700px){.work{padding-right:6%;padding-bottom:280px}.work-grid{grid-template-columns:1fr}.terrace-world{background-position:65% center}.work-heading,.work-top{max-width:90%}.work{background:linear-gradient(90deg,#061b25bb,transparent)}}

/* Portfolio composition: companion beside the title, work across the full width. */
.work{padding:65px 5% 65px;max-width:1680px;margin:0 auto;background:linear-gradient(180deg,rgba(5,23,32,.35),rgba(5,23,32,.80) 600px)}.work-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:25px 0 32px;min-height:230px}.work h2{font-size:clamp(42px,5vw,80px);flex:1}.dragon-landing{display:block;width:clamp(240px,27vw,390px);margin:0 4% 0 0;align-self:center}.landing-ring{opacity:var(--land,0);background:radial-gradient(ellipse,#cbae7040,#09202b77 60%,transparent 72%);box-shadow:0 10px 26px #00101855}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 28px}.project-art{aspect-ratio:16/9}.project-details{flex-direction:row;align-items:center;padding:17px 18px}.project h3{font-size:23px}.work-end{flex-direction:row;align-items:center}.terrace-world:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071d2944,transparent 65%)}@media(max-width:700px){.work{padding:45px 6%}.work-heading{gap:0;min-height:170px}.work h2{font-size:clamp(30px,7vw,46px)}.dragon-landing{width:150px;flex-shrink:0;margin:0 -25px 0 -30px}.work-grid{grid-template-columns:1fr}.project-details{padding:14px}.project h3{font-size:20px}.project-details>span{font-size:9px}.work-end{flex-direction:column;align-items:start}}
.work-grid{perspective:1400px;perspective-origin:50% 20%}.project.depth-card{opacity:0;transform:translate3d(0,65px,-150px) rotateX(12deg);transform-origin:50% 50%;transition:opacity .8s ease var(--delay),transform .95s cubic-bezier(.2,.7,.2,1) var(--delay);backface-visibility:hidden}.project.depth-card.card-visible{opacity:1;transform:translate3d(0,0,0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.project.depth-card.card-visible:hover{transform:translate3d(0,-5px,18px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease}.project:focus-visible{outline:2px solid #fff0cf;outline-offset:7px}@media(prefers-reduced-motion:reduce){.project.depth-card,.project.depth-card.card-visible,.project.depth-card.card-visible:hover{opacity:1;transform:none;transition:none}}

.work-grid{position:relative;perspective:1100px;perspective-origin:50% 35%}.project.depth-card,.project.depth-card.card-visible,.project.depth-card.card-visible:hover{--entry:0;opacity:calc(.12 + var(--entry)*.88);transform:translate3d(calc((1 - var(--entry))*var(--side)*65px),calc((1 - var(--entry))*95px),calc((1 - var(--entry))*-340px)) rotateX(calc((1 - var(--entry))*34deg)) rotateY(calc((1 - var(--entry))*var(--side)*-18deg));transition:none;will-change:transform,opacity}.depth-card .project-art{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease;box-shadow:0 24px 55px #0007}@media(prefers-reduced-motion:reduce){.project.depth-card,.project.depth-card.card-visible,.project.depth-card.card-visible:hover{opacity:1;transform:none}.depth-card .project-art{transform:none}}
