:root{color-scheme:light;--ink:#191919;--paper:#fff;--muted:#777}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,'PingFang TC','Microsoft JhengHei',sans-serif;color:var(--ink);background:var(--paper)}body{height:100dvh;overflow:hidden}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ac2b22;outline-offset:7px}button:hover,a:hover{opacity:.65}header{height:110px;position:fixed;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 5.7%;z-index:5;pointer-events:none}header>*{pointer-events:auto}.brand{position:absolute;left:50%;transform:translateX(-50%);font-weight:750;font-size:clamp(21px,2.5vw,36px);letter-spacing:-1.3px;white-space:nowrap}.brand small{font-size:.43em;letter-spacing:-.2px;margin-left:4px}.icon{width:45px;height:45px;padding:4px}.icon svg{width:100%;height:100%}.menu-icon{display:grid;grid-template-columns:repeat(3,5px);gap:4px;align-content:center;justify-content:center;opacity:.4}.menu-icon span{width:5px;height:5px;background:currentColor}.menu-icon:hover{opacity:1}#main{position:absolute;inset:110px 0 130px;outline:none;overflow:auto;animation:none}.home{color:#fff;background:#fff}body:before{content:'';position:fixed;inset:0;background:linear-gradient(#0004,#0004),url('assets/oa43AEUWZUn07B_vLOvgZ.webp') center 48%/cover no-repeat;opacity:0;pointer-events:none;transition:opacity .42s ease}body.home:before{opacity:1}.home #main{overflow:hidden}.hero{height:100%;position:relative}.hero h1{position:absolute;left:7.85%;top:52%;margin:0;font-family:'Songti TC','Songti SC','Noto Serif CJK TC',serif;font-weight:600;font-size:clamp(40px,5.55vw,80px);line-height:1.23;letter-spacing:-.04em}.hero h1 span{border-bottom:2px solid currentColor;display:table}.hero h1 a:hover{opacity:1}footer{position:fixed;inset:auto 0 0;height:130px;z-index:6;background:#fff}body.home footer{background:transparent}footer nav{height:84px;display:flex;align-items:center;justify-content:space-between;margin:0 5.7%;font-size:18px}footer nav>a,footer nav>div>button{position:relative;font-size:inherit;padding:8px 0}footer nav>a.active:after,.works-nav.active>button:after{content:'';height:1px;background:currentColor;position:absolute;bottom:4px;left:0;right:0}.copyright{font-size:9px;text-align:center;color:#8b8b8b;margin:18px 20px 0;line-height:1.4}.home .copyright{color:#d2d2d2}.copyright a{margin-left:5px}.works-nav{position:relative}.categories{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(5px);display:grid;grid-template-columns:repeat(5,max-content);gap:10px 18px;width:max-content;padding:19px 24px;background:#fffc;color:#222;backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:.2s;box-shadow:0 -6px 30px #00000004;font-size:12px}.categories a{padding:4px 0}.categories a.active{text-decoration:underline;text-underline-offset:5px}.works-nav:hover .categories,.works-nav.open .categories{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}body.home .categories{background:#222b;color:#fff}.about,.recruit{display:grid;grid-template-columns:1fr 1fr;gap:8%;height:100%;padding:6vh 12% 0 7.8%}.about h1{writing-mode:vertical-rl;font-family:'Songti TC','Songti SC',serif;font-size:45px;letter-spacing:20px;font-weight:400;margin:0 0 0 11%;max-height:300px}.about p,.recruit p{font-size:16px;line-height:2.5;margin:0;white-space:pre-line;max-width:460px}.recruit h1{font-family:'Songti TC','Songti SC',serif;font-size:clamp(28px,3.5vw,54px);line-height:1.7;letter-spacing:-1px;font-weight:600;margin:0}.recruit h1 span{display:block;margin-left:28%}.recruit .contact-link{display:inline-block;margin-top:22px;border-bottom:1px solid;font-size:12px;padding-bottom:5px}.contact{height:100%;padding:1% 11.5%;display:flex;flex-direction:column;justify-content:space-around}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:30px;font-family:Georgia,'Songti TC',serif;font-size:clamp(16px,1.7vw,26px)}.contact-row h1,.contact-row h2{font-size:15px;font-weight:400}.contact-row .address{font-size:18px}.contact-tools{text-align:right;font-size:11px;margin-top:12px;color:#777}.contact-tools button{border-bottom:1px solid #aaa;padding:3px 0}.gallery{height:100%;position:relative;min-height:200px}.artboard{position:absolute;inset:0 0 40px;animation:none}.art{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.art:hover{opacity:1}.art img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.art:hover img{transform:scale(1.025)}.slide-arrow{position:absolute;top:45%;font-size:42px;font-weight:200;color:#aaa;z-index:2;width:48px;height:70px}.slide-arrow.prev{left:0}.slide-arrow.next{right:0}.gallery-caption{position:absolute;bottom:0;left:5.7%;right:5.7%;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#888}.gallery-caption h1{font-size:11px;font-weight:400;margin:0;letter-spacing:.1em}.pagination{display:flex;gap:5px}.pagination button{padding:8px 4px;font-size:10px;min-width:24px}.pagination button.active{color:#111;text-decoration:underline;text-underline-offset:4px}.topics{padding:0 10%;height:100%;overflow:auto}.topic{display:grid;grid-template-columns:110px 1fr 150px;gap:45px;align-items:center;padding:25px 0 38px;min-height:270px}.topic time{font-size:12px;color:#888;letter-spacing:.12em}.topic h1,.topic h2{font-family:'Songti TC','Songti SC',serif;font-size:19px;line-height:1.9;font-weight:400}.topic img{width:100%;height:200px;object-fit:contain}.topic button{padding:0}.video-slide{height:100%;display:flex;align-items:center;justify-content:center;gap:40px;padding:15px 8% 45px}.video-slide video{max-width:85%;max-height:100%;background:#f5f5f5}.video-slide .poster-image{max-height:90%;max-width:28%;object-fit:contain}dialog{border:0;padding:60px;color:#171717;background:#fff;width:min(800px,92vw);max-height:90dvh}dialog::backdrop{background:#0008;backdrop-filter:blur(7px)}.close{position:absolute;right:20px;top:12px;font-size:36px;font-weight:200;padding:5px 12px}.menu-dialog{width:min(600px,92vw)}.eyebrow{font-size:11px;letter-spacing:.18em;margin-bottom:35px}.menu-dialog nav{display:flex;flex-direction:column;gap:20px;font-size:30px}.menu-dialog small{font-size:13px;float:right;font-weight:400;color:#888;margin-top:10px}#search-dialog label{font-size:12px;letter-spacing:.1em}#search{display:block;border:0;border-bottom:1px solid #aaa;border-radius:0;padding:20px 0;font-size:24px;width:100%;margin:15px 0 25px}#results{display:grid;grid-template-columns:1fr 1fr;gap:12px}#results a{padding:18px;background:#f6f6f6;display:flex;flex-direction:column;gap:8px}#results small{color:#888}#lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;background:#fffffff5;padding:50px 70px}#lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}#lightbox img{max-width:100%;max-height:calc(100% - 40px);object-fit:contain}#lightbox figcaption{font-size:12px;color:#777}.light-prev,.light-next{position:absolute;top:45%;font-size:50px;padding:20px}.light-prev{left:0}.light-next{right:0}#toast{position:fixed;bottom:140px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:4px;background:#222;color:white;font-size:13px;opacity:0;pointer-events:none;z-index:20}#toast.show{opacity:1}.skip{position:fixed;left:15px;top:-100px;z-index:30;background:#fff;color:#111;padding:12px}.skip:focus{top:10px}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes hero-in{from{opacity:.7;transform:scale(1.015)}to{opacity:1;transform:none}}
@media(min-width:1600px){.about,.recruit{padding-top:8vh}.about p,.recruit p{font-size:18px}}
@media(max-height:700px) and (min-width:701px){header{height:80px}#main{top:80px;bottom:100px}footer{height:100px}footer nav{height:65px}.copyright{margin-top:10px}.about,.recruit{padding-top:10px}.about p,.recruit p{font-size:13px;line-height:2}.hero h1{font-size:9vh}.contact-row{font-size:20px}}
@media(max-width:700px){body{min-height:100dvh;height:auto;overflow:auto}header{height:85px;padding:0 18px;background:#fffffff0;backdrop-filter:blur(10px)}.home header{background:transparent;backdrop-filter:none}.brand{font-size:23px;letter-spacing:-.8px}.icon{width:34px;height:40px}.menu-icon{grid-template-columns:repeat(3,4px);gap:3px}.menu-icon span{width:4px;height:4px}#main{position:relative;inset:auto;margin:85px 0 120px;min-height:calc(100dvh - 205px);overflow:visible}.home #main{height:calc(100dvh - 205px)}.home:before{background-position:57% center}.hero h1{left:7%;top:52%;font-size:clamp(34px,8.7vw,58px)}footer{height:105px;background:#fffffff5;backdrop-filter:blur(10px)}body.home footer{background:#0002}footer nav{height:65px;margin:0 6%;font-size:11px}.copyright{font-size:8px;margin:6px 10px 0}.copyright span{display:none}.categories{position:fixed;left:12px;right:12px;bottom:100px;width:auto;transform:none!important;grid-template-columns:repeat(3,1fr);gap:15px;padding:25px;background:#fffffff5!important;color:#222!important;border:1px solid #eee}.about,.recruit{padding:45px 8% 35px;display:flex;flex-direction:column;gap:35px}.about h1{font-size:34px;writing-mode:horizontal-tb;letter-spacing:8px;margin:0}.about p,.recruit p{font-size:14px;line-height:2.3;max-width:100%}.recruit h1{font-size:34px}.recruit h1 span{margin-left:20%}.contact{gap:42px;padding:50px 8%;min-height:calc(100dvh - 205px)}.contact-row{align-items:flex-start;flex-direction:column;gap:6px;font-size:21px}.contact-row h1,.contact-row h2{font-size:11px;letter-spacing:.1em}.contact-row .address{font-size:15px}.contact-tools{text-align:left}.gallery{min-height:calc(100dvh - 205px);padding:15px 7% 60px}.artboard{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;min-height:calc(100dvh - 320px)}.art{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:100px}.art img{width:100%;height:auto;max-height:360px;object-fit:contain}.artboard.package .art:first-child{grid-column:1/-1}.artboard.single .art{grid-column:1/-1}.slide-arrow{position:fixed;top:47%;width:25px;font-size:30px;background:#fffa;height:50px}.gallery-caption{left:7%;right:7%;bottom:5px;align-items:flex-start;gap:10px;flex-wrap:wrap}.pagination{flex-wrap:wrap}.topics{padding:0 8%;overflow:visible}.topic{grid-template-columns:1fr 90px;gap:12px 18px;min-height:0;padding:25px 0;border-bottom:1px solid #eee}.topic time{grid-column:1/-1}.topic h1,.topic h2{font-size:15px}.topic img{height:140px}.video-slide{padding:20px 6% 60px;height:calc(100dvh - 205px);gap:15px}.video-slide .poster-image{display:none}.video-slide video{max-width:100%;max-height:100%}dialog{padding:55px 25px 30px}#results{grid-template-columns:1fr}#search{font-size:18px}#lightbox{padding:65px 30px}.light-prev,.light-next{font-size:34px;padding:10px}.menu-dialog nav{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}

/* Shared motion keeps the navigation steady while page content cross-fades. */
header,footer{transition:color .42s ease,background-color .42s ease}
.categories{font-family:Arial,Helvetica,'PingFang TC','Microsoft JhengHei',sans-serif;font-style:normal;font-weight:400;pointer-events:none;transform:translateX(-50%);transition:opacity .4s ease,visibility 0s linear .4s}
.works-nav:hover .categories,.works-nav.open .categories{pointer-events:auto;transform:translateX(-50%);transition:opacity .4s ease,visibility 0s linear 0s}
.categories a{display:block;font-family:inherit;opacity:1}
.categories a span{display:inline-block;transform:translateY(0);transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .28s ease}
.categories a:hover span,.categories a:focus-visible span{transform:translateY(-5px);opacity:.65}
@media(prefers-reduced-motion:reduce){.categories a:hover span,.categories a:focus-visible span{transform:none}header,footer,body:before,.categories,.categories a span{transition:none!important}}

/* Keep the submenu transparent on every page and at every breakpoint. */
body .categories,body.home .categories{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border:0!important;text-transform:uppercase}
footer nav>a,footer nav .works-nav>button{display:inline-block;text-transform:uppercase;transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .28s ease}
footer nav>a:hover,footer nav>a:focus-visible,footer nav .works-nav>button:hover,footer nav .works-nav>button:focus-visible{transform:translateY(-5px)}
/* The image is its own layer, so its fade and colour reveal can run independently. */
body:before{content:none}
#home-background{position:fixed;inset:0;pointer-events:none;opacity:0;background:linear-gradient(#0004,#0004),url('assets/oa43AEUWZUn07B_vLOvgZ.webp') center 48%/cover no-repeat}
body.home #home-background{opacity:1}
@media(max-width:700px){#home-background{background-position:57% center}}
@media(prefers-reduced-motion:reduce){footer nav>a:hover,footer nav>a:focus-visible,footer nav .works-nav>button:hover,footer nav .works-nav>button:focus-visible{transform:none}footer nav>a,footer nav .works-nav>button{transition:none}}

body.home .categories{color:#fff!important}
@media(min-width:701px){.categories{grid-template-columns:repeat(6,max-content)}}
@media(min-width:701px) and (max-width:900px){.categories,.works-nav:hover .categories,.works-nav.open .categories{left:0;transform:none}}
/* A transparent navigation overlay with a soft, staggered entrance. */
#menu-dialog{background:transparent;color:#fff;box-shadow:none;border:0;overflow:visible;padding:55px 60px;width:min(620px,90vw)}
#menu-dialog::backdrop{background:rgba(15,17,20,.48);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#menu-dialog small{color:#e2e2e2}
#menu-dialog nav{gap:13px}
#menu-dialog nav a{display:flex;align-items:center;justify-content:space-between;padding:8px 0;opacity:1;animation:menu-item-in .55s cubic-bezier(.22,.61,.36,1) backwards}
#menu-dialog nav a:nth-child(1){animation-delay:40ms}#menu-dialog nav a:nth-child(2){animation-delay:85ms}#menu-dialog nav a:nth-child(3){animation-delay:130ms}#menu-dialog nav a:nth-child(4){animation-delay:175ms}#menu-dialog nav a:nth-child(5){animation-delay:220ms}#menu-dialog nav a:nth-child(6){animation-delay:265ms}
#menu-dialog .menu-word{display:inline-block;transform-origin:left center;transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .3s}
#menu-dialog nav a:hover .menu-word,#menu-dialog nav a:focus-visible .menu-word{transform:translateY(-3px) scale(1.04)}
#menu-dialog small{float:none;margin:0;transition:transform .3s}
#menu-dialog nav a:hover small{transform:translateY(-2px)}
dialog[open]::backdrop{animation:backdrop-in .4s ease both}
dialog.closing::backdrop{animation:backdrop-out .22s ease both}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes backdrop-out{from{opacity:1}to{opacity:0}}
@keyframes menu-item-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.recruit h1 .recruit-line:first-child{margin-left:0;animation:recruit-line-in .8s cubic-bezier(.22,.61,.36,1) .12s both}
.recruit h1 .recruit-line:last-child{animation:recruit-line-in .85s cubic-bezier(.22,.61,.36,1) .7s both}
@keyframes recruit-line-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* Give the artwork a definite, centered viewport instead of intrinsic flex sizing. */
#lightbox{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;padding:60px 24px 30px;margin:0;overflow:hidden}
#lightbox[open]{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;grid-template-rows:minmax(0,1fr);align-items:center}
#lightbox figure{grid-column:2;grid-row:1;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;width:100%;height:100%;min-width:0;min-height:0;margin:0;justify-items:center;align-items:center}
#lightbox img{display:block;grid-row:1;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center}
#lightbox figcaption{grid-row:2;text-align:center;line-height:1.6;max-width:100%;overflow-wrap:anywhere}
#lightbox .light-prev,#lightbox .light-next{position:static;grid-row:1;align-self:center;padding:15px 0;width:100%;transition:transform .25s,opacity .25s}
#lightbox .light-prev{grid-column:1}#lightbox .light-next{grid-column:3}
#lightbox .light-prev:hover{transform:translateX(-3px)}#lightbox .light-next:hover{transform:translateX(3px)}
#lightbox .close{z-index:2}
@media(max-width:700px){#menu-dialog{padding:50px 20px 30px}#menu-dialog nav{gap:14px}#lightbox{padding:60px 8px 24px}#lightbox[open]{grid-template-columns:28px minmax(0,1fr) 28px}#lightbox figcaption{font-size:11px}}
@media(prefers-reduced-motion:reduce){#menu-dialog nav a,#menu-dialog::backdrop,dialog[open]::backdrop,.recruit h1 .recruit-line{animation:none!important}#menu-dialog .menu-word,#menu-dialog small{transition:none}#menu-dialog nav a:hover .menu-word,#menu-dialog nav a:focus-visible .menu-word{transform:none}}
@media(min-width:701px){.artboard.space{inset:0 12% 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:24px;align-items:center}.artboard.space .art{position:static;width:100%;height:100%;min-width:0;min-height:0}.artboard.space .art:nth-child(2){grid-column:1;grid-row:2}.artboard.space .art:nth-child(3){grid-column:2;grid-row:1}}

/* Gentle typography entrances and Japan moving-image collection. */
.hero h1 span{border-bottom:0;position:relative;animation:title-reveal 1.05s cubic-bezier(.22,.61,.36,1) .25s both}
.hero h1 span:nth-child(2){animation-delay:.5s}
.hero h1 span::after{content:'';height:2px;background:currentColor;position:absolute;left:0;right:0;bottom:0;transform-origin:left;animation:underline-reveal 1s cubic-bezier(.22,.61,.36,1) .65s both}
.hero h1 span:nth-child(2)::after{animation-delay:.9s}
.about h1{animation:title-reveal 1.15s cubic-bezier(.22,.61,.36,1) .2s both}
@keyframes title-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes underline-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.phone-list{display:flex;flex-direction:column;gap:14px}.phone-list a{display:flex;align-items:center;gap:20px}.phone-list small{font:10px Arial,sans-serif;letter-spacing:.12em;min-width:45px}
.contact-row a[href^="mailto"]{font-size:clamp(17px,2.2vw,32px);overflow-wrap:anywhere}
.japan-index,.japan-project{padding:24px 7.8% 50px}.japan-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 28px}.japan-heading h1{font-size:22px;letter-spacing:-.04em;font-weight:500;margin:0}.japan-heading p,.japan-card p,.japan-kicker{font-size:10px;letter-spacing:.07em;color:#777}.japan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 25px}.japan-card:hover{opacity:1}.japan-cover{aspect-ratio:16/10;overflow:hidden;background:#f4f4f4}.japan-cover img{width:100%;height:100%;object-fit:contain;transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .65s;filter:grayscale(.25)}.japan-card:hover img{transform:scale(1.035);filter:none}.japan-card-title{display:flex;justify-content:space-between;font-size:12px;gap:10px;margin-top:15px}.japan-card p{margin:9px 0 0}.japan-back{display:inline-block;font-size:10px;letter-spacing:.1em;margin-bottom:25px}.japan-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:5%}.japan-player video{display:block;width:100%;height:min(48vh,510px);object-fit:contain;background:#f6f6f6}.japan-film-caption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:15px}.japan-film-caption h2{font-size:13px;font-weight:400;margin:0;text-transform:uppercase}.japan-film-caption>span{font-size:10px;color:#777;white-space:nowrap}.japan-description h1{font-size:clamp(22px,2.5vw,38px);font-weight:400;line-height:1.05;letter-spacing:-.04em;margin:12px 0 23px}.japan-description>p:not(.japan-kicker){font-size:12px;line-height:2;color:#555}.film-list{display:grid;margin-top:24px}.film-list a{display:grid;grid-template-columns:20px 1fr 10px;gap:10px;border-top:1px solid #ddd;padding:11px 0;font-size:10px;text-transform:uppercase;line-height:1.4;transition:transform .25s,opacity .25s}.film-list a:hover{transform:translateX(3px)}.film-list a[aria-current]{font-weight:700}.film-list a>span:first-child{color:#888;font-weight:400}
@media(max-width:900px){.japan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.japan-heading{align-items:flex-start;flex-direction:column;gap:4px}.japan-layout{grid-template-columns:1fr}.japan-description{margin-top:30px}.japan-player video{height:45vh}}
@media(max-width:700px){.japan-index,.japan-project{padding:25px 7% 35px}.japan-grid{grid-template-columns:1fr;gap:30px}.japan-description h1{font-size:30px}.japan-player video{height:35vh}.phone-list{gap:14px}.phone-list a{font-size:19px;gap:12px}}
@media(prefers-reduced-motion:reduce){.hero h1 span,.hero h1 span::after,.about h1{animation:none}.japan-cover img,.film-list a{transition:none}}

/* Transparent search and restrained interaction feedback. */
#search-dialog{background:transparent;color:inherit;box-shadow:none;border:0;padding:40px 60px 20px;scrollbar-width:thin;scrollbar-color:currentColor transparent}
#search-dialog::backdrop{background:transparent;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#search{background:transparent;color:inherit;border-bottom-color:currentColor;transform-origin:left center;transition:transform .32s cubic-bezier(.22,.61,.36,1),border-color .32s}
#search::placeholder{color:currentColor;opacity:.5}
#search:focus{transform:scale(1.025);outline:none;border-bottom-width:2px}
#search:focus-visible{outline:none}
#results{gap:8px 24px}
#results a{background:transparent;padding:10px 4px;transform-origin:left center;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .32s;opacity:.8}
#results a:hover,#results a:focus-visible{transform:translateY(-2px) scale(1.035);opacity:1}
#results a:active{transform:scale(1.01);opacity:.55}
#results small{color:inherit;opacity:.62;text-transform:uppercase}
header .icon{transform:scale(1);transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .32s}
header .icon:hover,header .icon:focus-visible{transform:scale(1.1);opacity:1}
header .icon:active{transform:scale(1.03);opacity:.6}
.slide-arrow{opacity:.72;background:transparent;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .22s}
.slide-arrow.prev{transform-origin:left center}.slide-arrow.next{transform-origin:right center}
.slide-arrow:hover,.slide-arrow:focus-visible{transform:scale(1.12);opacity:1}
.slide-arrow:active{transform:scale(1.04);opacity:.38}
.contact-row a[href^="mailto"]{font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:normal}
@media(max-width:700px){#search-dialog{padding:50px 25px 30px}.contact-row a[href^="mailto"]{font-size:19px}}
@media(prefers-reduced-motion:reduce){#search:focus,#results a:hover,#results a:focus-visible,#results a:active,header .icon:hover,header .icon:focus-visible,header .icon:active,.slide-arrow:hover,.slide-arrow:focus-visible,.slide-arrow:active{transform:none}}

/* Text-only awards retain dates and allow English titles to wrap. */
.topics .topic{grid-template-columns:120px minmax(0,1fr);gap:32px;min-height:145px}
.topics .topic h1,.topics .topic h2{max-width:900px;line-height:1.65}
@media(max-width:700px){.topics .topic{grid-template-columns:1fr;gap:12px;min-height:0}.topics .topic time{grid-column:auto}}

/* Contact details in each location remain readable on shorter screens. */
.email-list,.address-list{display:flex;flex-direction:column;gap:12px}
.contact{height:auto;min-height:100%;gap:34px;padding-top:24px;padding-bottom:30px}
.address-list{line-height:1.5}
@media(max-width:700px){.contact{padding-top:40px;gap:38px}.contact-row>div{max-width:100%}}

/* A shared edge inset balances the fixed navigation around the viewport. */
:root{--frame-edge:clamp(32px,4vw,64px);--header-icon:45px}
header{top:var(--frame-edge);left:var(--frame-edge);right:var(--frame-edge);bottom:auto;height:var(--header-icon);padding:0}
header .icon{width:var(--header-icon);height:var(--header-icon);opacity:.4}
header .brand{top:50%;transform:translate(-50%,-50%);line-height:1;display:flex;align-items:center}
header .brand small{line-height:1}
header .icon:hover,header .icon:focus-visible{opacity:1}
header .icon:active{opacity:.6}
footer{height:calc(var(--frame-edge) + 54px)}
footer nav{position:absolute;left:var(--frame-edge);right:var(--frame-edge);bottom:calc(var(--frame-edge) - 8px);height:38px;margin:0;line-height:22px}
footer .copyright{position:absolute;bottom:12px;left:20px;right:20px;margin:0}
@media(min-width:701px){#main{top:calc(var(--frame-edge) + var(--header-icon) + 20px);bottom:calc(var(--frame-edge) + 54px)}}
@media(max-width:700px){:root{--frame-edge:24px;--header-icon:40px}header{background:transparent;backdrop-filter:none}.brand{font-size:clamp(18px,5vw,23px)}footer{height:88px}footer nav{bottom:24px;line-height:18px}footer .copyright{bottom:5px;left:12px;right:12px}#main{margin-top:84px;margin-bottom:100px}.categories{bottom:88px}.home #main{height:calc(100dvh - 184px)}}
